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 

張包峯的博客 

相關文章
相關標籤/搜索