sparkSQL主页:http://spark.apache.org/sql/
SparkSQL是用来处理结构化数据的一个Spark的模块,提供编程抽象叫DataFrame,进行分布式的SQL查询引擎的作用
和HIve的对比,hive是将sql解析成MapReduce提交到集群上进行执行,由于效率问题不及Spark,所以SparlSQL产生,它是转换成RDD然后提交到集群上运行,效率很高。
提供了两种编程API:1 SQL方式 2.DataFrame的方式(DSL),稍后进行实例讲解。
什么是DataFrame?
类似RDD,都是分布式数据容器,但是DF更像传统的数据库的二维表格,有表头,记录数据结构信息,即schema
DataFrame是特殊的RDD(RDD+Schema信息就变成了DataFrame)
入门案例:要编写sparksql,首先需要在maven中添加sparksql的依赖
首先我们使用SQL的方式:
数据样例:
1 thy 26 9999
2 nanyang 25 99
3 wazi 24 99
4 mingming 22 999编号 名称 年龄 颜值
spark 1.x 的sparksql ##两种方式
SQL方式:
1首先创建 sqlContext,需要传入sc ,因为我们最终是要将普通的RDD转换成DataFrame(特殊RDD,带有数据描述信息,即让数据