RDD本身是没有数据结构的需要函数进行分析(map ,flatmap......)
SparkSQL建立在SHARK上
SparkSQL的优势:数据兼容,性能优化,组件扩展
SparkSQL的语句顺序:
1解析(Parse)分析SQL语句的关键词(如:select,from,where)并判断SQL语句的合法性
2绑定(Bind)
3最优计划(Optimize)
4计划执行(Execute)
实现SPARKSQL
生产SchemaRDD-实现SPARKSQL必须将一般的RDD转换成带数据结构的数据集DataFrame
SchemaRDD本身是一个RDD,是RDD的一个子集
SparkSQL建立在SHARK上
SparkSQL的优势:数据兼容,性能优化,组件扩展
SparkSQL的语句顺序:
1解析(Parse)分析SQL语句的关键词(如:select,from,where)并判断SQL语句的合法性
2绑定(Bind)
3最优计划(Optimize)
4计划执行(Execute)
实现SPARKSQL
生产SchemaRDD-实现SPARKSQL必须将一般的RDD转换成带数据结构的数据集DataFrame
SchemaRDD本身是一个RDD,是RDD的一个子集
用各种方法生成SchemaRDD:
用createDataFrame产生DataFrame:
一个Row是一行数据,一个元组/列表也是一行数据
用collect()输出结果是一个列表,用show()是一个表格
输出结果是: