Hive on Tez


参照
http://tez.apache.org/install.html
https://cwiki.apache.org/confluence/display/Hive/Hive+on+Tez
https://cwiki.apache.org/confluence/display/Hive/Hive-Tez+Comptibility
https://github.com/apache/incubator-tez/blob/branch-0.2.0/INSTALL.txt
前言
HiveQLを実行するたびに、「WARNING:Hiven-M-R is deprecated in Hive 2 and may not be available in the future versions.Consder usine a different execution engine(i.e.spark,tez)or using Hise.1.efirees.
Hive-on-mrはHive 2では紹介されておらず、将来のバージョンでは使えないかもしれません.Mrの代わりにTezを使うことを考えます.前提はHiveの運行環境です.Tezのソースコードのコンパイルは詳しくは私の別のブログを参照してください.https://blog.csdn.net/DataIntel_XiAn/article/details/99321925を選択します
次にバージョンマッチングの問題を見ますので、hive 2.3.2とtez 0.9.1を使います.
Hive on Tez_第1张图片
HDFSにディレクトリを作成し、編集したtezのすべてのjarパッケージをアップロードします.
hdfs dfs -put tez-0.9.1 /tez

hadoopの下に配置ファイルを新たに作成します.「tez-site.xml」は以下のように説明します.再帰的に検索することはないので、Baseとlibをそれぞれ配置してカンマで区切ることをお勧めします.

      
        tez.lib.uris  
        ${fs.defaultFS}/tez/tez-0.9.1,${fs.defaultFS}/tez/tez-0.9.1/lib
     
修正mapred-site.xmlは以下の通りです.

    
        mapreduce.framework.name
        yarn-tez
    
hadoop-env.shに以下の構成を追加します.
# tez
export TEZ_CONF_DIR=/home/hadoop/hadoop-2.7.7/etc/hadoop/tez.site.xml
export TEZ_JARS=/home/hadoop/tez-0.9.1
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$TEZ_CONF_DIR:$TEZ_JARS/*:$TEZ_JARS/lib/*
テスト前にHadoopを再起動してください.「計算エンジンの切り替え使用:set hive.execution.engine=tez」
mr消耗時間は59秒です
Hive on Tez_第2张图片
tez消耗時間は3秒です
Hive on Tez_第3张图片
違いがあまりはっきりしていないようですが、私達はデータ量を1000万本まで増やします.
Hive on Tez_第4张图片
mr消耗時間は182.9秒です
Hive on Tez_第5张图片
tez消耗時間16.0秒