Spark SQL和Shark在架構上有哪些區別?情感二號2018-01-27 21:27:18

Spark Shark |即Hive onSpark

a。在實現上是把HQL翻譯成Spark上的RDD操作,然後透過Hive的metadata獲取資料庫裡的表資訊,Shark獲取HDFS上的資料和資料夾放到Spark上運算。

b。它的最大特性就是快以及與Hive完全相容

c。Shark使用了Hive的API來實現queryparsing和logic plan generation,最後的Physical Plan execution階段用Spark代替Hadoop MR。

d。透過配置Shark引數,Shark可以自動在記憶體中快取特定的RDD,實現資料重用,進而加快特定資料集的檢索。

e。Shark透過UDF實現特定的資料分析學習演算法,使得SQL資料查詢和運算分析結合在一起,最大化RDD的重複使用。

Spark SQL

a。是基於Catalyst(翻譯為催化劑)引擎的互動式大資料SQL技術,使用SchemaRDD來操作SQL,比Shark支援更過的查詢表示式。

b。支援Hive|HBase|Oracle