1. 程式人生 > >Spark SQL 筆記(4)——Spark SQL 介紹

Spark SQL 筆記(4)——Spark SQL 介紹

1 Spark SQL 背景介紹

1.1 Hive 介紹

  • 類似 sql 的 Hive QL 語言, sql -> mapreduce
  • 改進: hive on tez,hive on spark, hive on mapreduce

1.2 Spark SQL 前世

  • hive on spark -> shark
  • shark,基於 spark,基於記憶體的列式儲存,與 hive 能夠相容
  • shark 缺點: hive ql 的解析、邏輯執行計劃生成、執行計劃的優化是依賴 hive 的;僅僅只是把物理執行計劃從 mr 作業替換成 spark 作業

1.3 Shark 終止

Shark 終止後,產生了 2 個分支:

  1. hive on spark: Hive 社群,原始碼在 Hive 中
  2. Spark SQL: Spark SQL 社群;支援多種資料來源
    在這裡插入圖片描述

1.4 SQL on Hadoop 常用框架

  1. Hive ,sql -> mapreduce;facebook 開源; metastore:元資料;
  2. impala ,cloudera公司:cdh(建議生產中使用);cm;sql:自己的守護程序執行的,非mr;metastore:元資料;
  3. presto: facebook 開源;京東;sql
  4. drill: sql; 訪問 : hdfs 、rdbms,json,hbase,mangodb,s3,hive
  5. Spark SQL: sql; dataframe/dataset api; metastore; 訪問 : hdfs 、rdbms,json,hbase,mangodb,s3,hive
    在這裡插入圖片描述

1.5 Spark SQL 總結

  • 應用不侷限於 SQL
  • 訪問 hive,json,parquet 等檔案的資料;

1.6 Spark SQL 架構

在這裡插入圖片描述