CDH 中使用 Hive on Spark


前言

使用 Hive insert SQL 后查看 Yarn 發現其跑的是 MR 方式

這里想改用 Spark 引起來縮短 HiveQL 的響應時間

有兩種方式

  • SparkSQL
  • Hive on Spark

兩種方式都可以,看個人習慣

Hive on Spark 大體與 SparkSQL 結構類似,只是 SQL 引擎不同,但是計算引擎都是 Spark

本文主要介紹 Hive on Spark

實操

CDH Hive 配置中可以看到有官方的提示配置文檔

要將 Hive 配置為在 Spark 上運行,請執行以下兩個步驟

  1. 配置 Hive 依賴項為 Spark 服務
  2. 配置 Hive 客戶端以使用 Spark 執行引擎

配置 Hive 依賴項為 Spark 服務

按照官方文檔操作即可

  1. 在 Cloudera Manager 管理控制台中,轉到 Hive 服務
  2. 單擊配置選項卡
  3. 搜索 Spark On YARN 服務。要配置 Spark 服務,請選擇 Spark 服務名稱。要刪除依賴項,請選擇 none
  4. 點擊保存更改。
  5. 進入Spark服務。
  6. 在 HiveServer2 所在的主機上添加 Spark 的 gateway 角色(即客戶端)
  7. 重啟 Hive、Spark 服務

配置 Hive 客戶端以使用 Spark 執行引擎

CDH 中的 Hive 支持兩個執行引擎: MapReduce 和 Spark

要配置執行引擎,請執行以下步驟之一

beeline/hive: 運行 set hive.execution.engine=engine 命令,engine 選項要么wei mr 要么為 spark
默認為 mr

set hive.execution.engine=spark;

# 查看當前的設置執行引擎
set hive.execution.engine;

Cloudera Manager(影響所有查詢,不推薦):

  1. 轉到 Hive 服務
  2. 單擊配置選項卡
  3. 搜索 “execution”
  4. 將”Default Execution Engine”屬性設置為 MapReduce 或 Spark。默認值為 MapReduce
  5. 重啟 Hive 服務

優化

官方文檔中提到性能

 

 暫未研究,有興趣的可以自行看看

參考鏈接


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM