spark SQL会成为spark的未来,spark以后的框架、其他的框架都会架构在spark SQL的基础之上!
1.大数据为什么要使用 SQL
与我们已有的BI等数据分析系统集成在一块
多数人都会SQL而且习惯了用SQL做数据分析
开发速度快
2.大数据为什么要使用 spark SQL
与直接基于RDD编程相比,写 spark SQL代码更少,编写更快,更容易修改和理解
相比于直接进行RDD编程而言,spark SQL会自动地进行性能优化
更有效地使用必要的数据,提高内存的使用价值
3.有了SQL为什么还要DataSet
SQL可以快速实现你的简单的想法,但是复杂的不行,总而言之:SQL虽然强大,但是表达能力不行。如类型检查,机器学习
4. 局限性
RDD的局限性:RDD的本身内部是一条一条的record,没有每个record的schema,不能像谓词下推等优化,不能方便地读取不同类型的数据,如读取parquet,想合并数据源时也不简单。
DataFrame的局限性:Dataframe是函数式的编程风格,不支持领域对象,运行时才类型检查。
DataSet是在DataFrame的基础上的发展出来的,是一种OO风格的接口,编译时就类型检查。
杂记
Tungsten的开发计