sparkSQL1.1入门之十:总结

回顾一下,在前面几章中,就sparkSQL1.1.0基本概念、运行架构、基本操做和实用工具作了基本介绍。git

基本概念:github

  • SchemaRDD
    • Rule
    • Tree
    • LogicPlan
    • Parser
    • Analyzer
    • Optimizer
    • SparkPlan
  • 运行架构:
    • sqlContext运行架构
    • hiveContext运行架构
  • 基本操做
    • 原生RDD的操做
    • parquet文件的操做
    • json文件的操做
    • hive数据的操做
    • 和其余spark组件混合使用
  • 实用工具
    • hive/console的操做
    • CLI的配置和操做
    • ThriftServer的配置和操做

      因为时间仓促,有不少地方来不及详细,特别是第三章和第九章;另外还有一些新的特性没有介绍,好比列存储的实现过程、CODEGEN的源码分析等,将在后续的版本逐步完善。sql

     从整体上来讲,因为CLI的引入,使得sparkSQL1.1.0在易用性方面获得了极大地提升;而ThriftServer的引入,方便了开发者对基 于SparkSQL的应用程序开发;hive/console的引入,极大地方面了开发者对sparkSQL源码的修改和调试;还有json数据的引入, 不但扩充了sparkSQL的数据来源,同时对嵌套数据开始作了尝试。从Spark1.1.0开始,sparkSQL逐渐开始像是一个产品了,而不像 spark1.0.0,感受像是一个测试品。固然,因为sparkSQL项目的启动时间比较晚,到如今为止还不到一年,在不少方面还存在着不足:apache

  • SQL-92语法的支持度,sparkSQL使用了一个简单的SQL语法解析器,对于一些复杂的语法没办法解析,好比三个表进行join的时候,不能一次性join,而要经过两两join后再join一次;
  • cost model ,虽然sparkSQL的catalyst在最初设计的时候就考虑到了cost model,但在如今的版本尚未引入。咱们相信,将来引入cost model以后,sparkSQL的性能将获得进一步地提高;
  • 并发性能,从impala获得的信息,sparkSQL的并发性能和impala相比,仍是有很多的差距,这将是sparkSQL的一个发展方向。

 

      匆匆忙忙中,sparkSQL1.1入门初版就先在这里结束吧。特别感谢一下网站或博客提供了相关的知识:json

www.databricks.com架构

spark.apache.org并发

github.com/apache/spark工具

http://spark-summit.org/2014oop

徽沪一郎 源码分析

OopsOutOfMemory 

张包峰的博客 

相关文章
相关标签/搜索