spark SQL编程动手实战-01
程序员文章站
2022-04-01 20:05:00
...
首先创建SparkContext上下文:
接着引入隐身转换,用于把RDD转成SchemaRDD:
接下来定义一个case class 来用于描述和存储SQL表中的每一行数据:
接下来要加载数据,这里的测试数据是user.txt文件:
我们创建好use.txt增加内容并上传到hdfs中:
web控制台查询:
hdfs命令查询:
加载数据:
验证数据是否加载成功:
注册成为user的table:
此刻user还是一个MappedRDD:
执行age 大于13 小于19的SQL查询:
此刻的teenagers已经隐身转换成SchemaRDD
通过collect操作触发job的提交和执行:
结果:
DSL是Domain Specific Language的缩写,使用DSL我们可以直接基于读取的RDD数据进行SQL操作,无需注册成Table。
我们重新启动下spark-shell:
同样使用"user.txt"的数据:
验证user:
我们这次直接使用SQL查询操作:
使用toDebugString查看下结果:
可以发现使用DSL的使用teenagers在内部已经被隐身转换了SchemaRDD的实例
可以发现与前面那张注册Table方式的结果是一样的
上一篇: DSL之三 DSL实现
下一篇: MySQL常用命令大全
推荐阅读
-
Flink实战(六) - Table API & SQL编程
-
PL/SQL编程入门day01
-
Spark计算模型RDD, RDD编程实战, RDD函数详解!
-
Spark API编程动手实战-08-基于IDEA使用Spark API开发Spark程序-01
-
Spark API编程动手实战-01-以本地模式进行Spark API实战map、filter和collect
-
【Spark】编程实战之模拟SparkRPC原理实现自定义RPC
-
Spark API编程动手实战-06-对搜狗日志文件深入实战操作
-
Spark API编程动手实战-02-以集群模式进行Spark API实战textFile、cache、count DataNodecachecounttextFilesaveAsTextFile
-
Spark实战(3) DataFrame基础之行列操作和SQL
-
Flink实战(六) - Table API & SQL编程