1、Spark on Hive
數據源是:hive,Spark 獲取hive中的數據,然後進行SparkSQL的操作 (hive只是作爲一個spark的數據源)。
spark on hive 是spark 通過spark-sql 使用hive 語句操作hive ,底層運行的還是 spark rdd.
*(1)就是通過sparksql,加載hive的配置文件,獲取到hive的元數據信息
* (2)spark sql獲取到hive的元數據信息之後就可以拿到hive的所有表的數據
* (3)接下來就可以通過spark sql來操作hive表中的數據
2、Hive on Spark
(數據源是hive本身) Hive 將自己的MapReduce計算引擎替換爲Spark,當我們執行HiveSQL(HQL)時底層以經不是將HQL轉換爲MapReduce任務,而是跑的Spark任務(即:將HQL轉換爲Spark任務)。
hive on spark是hive 等的執行引擎變成spark , 不再是mapreduce.