spark on yarn & spark on hive & spark-sql on hive

---------------------------------------------------------------------------------------------------------------------

一     spark on yarn

集羣方式運行,提交任務之後與客戶端就沒有聯繫,提交任務之後可以直接退出客戶端

集羣方式提交,日誌在集羣中

 

客戶端方式提交與集羣方式提交有區別,日誌會返回到客戶端,yarn集羣控制檯中看不到日誌

 

 

使用spark-shell啓動,必須要使用客戶端模式提交,因爲會在當前窗口中寫shell流程代碼,即driver必須在本地

---------------------------------------------------------------------------------------------------------------------

二 . spark on hive  執行hivesql的時候底層有mapreduce改成了spark

需要編譯spark源碼,編碼流程如下

1.下載hive包,下載mavem工具,安裝對應版本的scala

2.編譯spark源碼

 

(1)注意編譯spark選擇不帶hive的

(2)將下載好的源碼解壓進入目錄執行

      ./dev/make-distribution.sh --name "hadoop2-without-hive" --tgz "-Pyarn,hadoop-provided,hadoop-2.7,parquet-provided,orc-provided"

 

詳情見 spark-hive源碼編譯

https://cwiki.apache.org/confluence/display/Hive/Hive+on+Spark%3A+Getting+Started

 

最重要的參數只有第一個,即設置計算引擎,其他參數搭建hive的時候就配置好了

---------------------------------------------------------------------------------------------------------------------

三 . spark-sql on hive 通過spark-sql操作hive表中所有的數據

spark on hive有兩個重要文件夾  

1元數據元數據文件夾 metastore_db  這個文件夾通過配置可以設置爲mysql

2.表數據文件夾 spark-warehouse  這個啓動的時候可以通過 --conf spark.sql.warehouse.dir設置路徑

spark-sql on hive配置方式

(1)將hive-site.xml拷貝到spark/conf目錄下

(2)把hive目錄下的mysql驅動拷貝到spark的jars目錄下

(3)分發所有配置和mysql驅動到spark的其他節點

(4)啓動spark-sql操作hive的sql語句

啓動需要添加配置,即設置數據路徑

--conf spark.sql.warehouse.dir=hdfs://mini1:9000/user/hive/warehouse

操作實例

spark-sql \
--master spark://mini1:7077 \
--executor-memory 1g --total--executor-cores 2 \
--conf spark.sql.warehouse.dir=hdfs://mini1:9000/user/hive/warehouse

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章