IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    [原]sparkSQL1.1入门之十:总结

    book_mmicky发表于 2014-10-23 11:19:47
    love 0
    回顾一下,在前面几章中,就sparkSQL1.1.0基本概念、运行架构、基本操作和实用工具做了基本介绍。
    基本概念:
    • SchemaRDD
      • Rule
      • Tree
      • LogicPlan
      • Parser
      • Analyzer
      • Optimizer
      • SparkPlan
    • 运行架构:
      • sqlContext运行架构
      • hiveContext运行架构
    • 基本操作
      • 原生RDD的操作
      • parquet文件的操作
      • json文件的操作
      • hive数据的操作
      • 和其他spark组件混合使用
    • 实用工具
      • hive/console的操作
      • CLI的配置和操作
      • ThriftServer的配置和操作
    由于时间仓促,有很多地方来不及详细,特别是第三章和第九章;另外还有一些新的特性没有介绍,比如列存储的实现过程、CODEGEN的源码分析等,将在后续的版本逐步完善。
    从总体上来说,由于CLI的引入,使得sparkSQL1.1.0在易用性方面得到了极大地提高;而ThriftServer的引入,方便了开发者对基于SparkSQL的应用程序开发;hive/console的引入,极大地方面了开发者对sparkSQL源码的修改和调试;还有json数据的引入,不但扩充了sparkSQL的数据来源,同时对嵌套数据开始做了尝试。从Spark1.1.0开始,sparkSQL逐渐开始像是一个产品了,而不像spark1.0.0,感觉像是一个测试品。当然,由于sparkSQL项目的启动时间比较晚,到现在为止还不到一年,在很多方面还存在着不足:
    • SQL-92语法的支持度,sparkSQL使用了一个简单的SQL语法解析器,对于一些复杂的语法没办法解析,比如三个表进行join的时候,不能一次性join,而要通过两两join后再join一次;
    • cost model ,虽然sparkSQL的catalyst在最初设计的时候就考虑到了cost model,但在现在的版本还没有引入。我们相信,未来引入cost model之后,sparkSQL的性能将得到进一步地提升;
    • 并发性能,从impala得到的信息,sparkSQL的并发性能和impala相比,还是有不少的差距,这将是sparkSQL的一个发展方向。

    匆匆忙忙中,sparkSQL1.1入门第一版就先在这里结束吧。特别感谢一下网站或博客提供了相关的知识:
    www.databricks.com
    spark.apache.org
    github.com/apache/spark
    http://spark-summit.org/2014
    徽沪一郎
    OopsOutOfMemory
    张包峰的博客



沪ICP备19023445号-2号
友情链接