設定hive執行引擎為Tez

2021-09-28 19:45:07 字數 2254 閱讀 4436

我們知道hive預設計算引擎為mr,而mr的特性決定了它的運算速度並不是太讓人滿意。在此將其運算引擎修改為tez(當然在此需要先安裝tez),tez基於記憶體的計算使得hive可以有更高的運算效率。

安裝配置如下:

在此假設已經安裝好基礎hadoop、hive集群。

2、解壓縮apache-tez-0.9.1-bin.tar.gz到對應目錄並改名

tar -zxvf apache-tez-0.9.1-bin.tar.gz -c /usr/sft/

mv apache-tez-0.9.1-bin tez-0.9.1

在hive中配置tez3、在hive安裝目錄conf/hive-env.s**件中確保有如下配置

# set hadoop_home to point to a specific hadoop install directory

export hadoop_home=/usr/sft/hadoop-2.7.2

# hive configuration directory can be controlled by:

export hive_conf_dir=/usr/sft/hive-1.2.1/conf

# folder containing extra libraries required for hive compilation/execution can be controlled by:

export tez_home=/usr/sft/tez-0.9.1

export tez_jars=""

for jar in `ls $tez_home |grep jar`; do

export tez_jars=$tez_jars:$tez_home/$jar

done

for jar in `ls $tez_home/lib`; do

export tez_jars=$tez_jars:$tez_home/lib/$jar

done

export hive_aux_jars_path=$tez_jars

4、在hive-site.xml檔案中新增如下配置以更改hive計算引擎為tez(預設為mr)

hive.execution.engine

tez

5、 配置tez

在hive的conf目錄下建立tez-site.xml檔案並新增如下內容

<?xml version="1.0" encoding="utf-8"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

tez.lib.uris

$/tez/tez-0.9.1,$/tez/tez-0.9.1/lib

tez.lib.uris.classpath

$/tez/tez-0.9.1,$/tez/tez-0.9.1/lib

tez.use.cluster.hadoop-libs

true

tez.history.logging.service.class

org.apache.tez.dag.history.logging.ats.atshistoryloggingservice

6、上傳tez到集群(也可以直接上傳壓縮包到hdfs上,此時注意路徑配置)

hadoop fs -mkdir /tez

hadoop fs -put /usr/sft/tez-0.9.1/ /tez

7、測試

1)啟動hive(發現已經繫結了tez)

8、因為tez需要基於記憶體計算,在啟動任務前會進行記憶體檢查(檢查依據為map與reduce任務所需記憶體總和),若記憶體不夠時會殺死執行程序。在記憶體資源預算有限時可以關閉虛擬機器記憶體檢查;修改yarn-site.xml如下:

yarn.nodemanager.vmem-check-enabled

false

Hive更換Tez計算引擎

centos7 jdk1.8 hive 2.3.6 hadoop 2.7.7 tez 0.9.2 linux下hive的安裝 用hive直接編寫mr程式,假設有4個有依賴關係的mr作業,上圖中,藍色代表maptask,綠色代表reducetask,雲狀表示中間結果持久化到磁碟 tez可以將多個有依賴...

hive安裝Tez計算引擎

centos 7 hive 1.2.1 apache tez 0.9.1 上傳taz到hdfs中 hadoop fs mkdir tez hadoop fs put apache tez 0.9.1 bin.tar.gz tez 解壓縮tar zxvf apache tez 0.9.1 bin.ta...

Hive底層執行引擎的深度剖析(免費)

一 裝備公升級 作為乙個資料倉儲工程師,你在職場中是不是日趨頻繁使用數倉工具hive?作為乙個高階sqler,你是否仰望著大資料計算的技術聖殿感到舉步維艱?作為乙個etl工程師,你是否覺得mapreduce的出現大大簡化了程式設計難度?作為乙個游刃有餘的bi運維工程師,你是否對hql轉換為mapre...