zoukankan      html  css  js  c++  java
  • Apache Tez on hive

    ———————————————————— 调配 Hadoop  ————————————————————

    1 将 编译好的 TEZ .tar.gz 文件上传到 HDFS 中。
     
    hdfs fs -put complete-tez-0.7.0.tar.gz /tez
     

    2 创建 tez-site.xml

    需要在 hadoop 的 master 节点上面的 ${HADOOP_HOME}/etc/hadoop 目录下面创建一个 tez-site.xml 文件,里面填写如下内容

    <?xml version="1.0" encoding="UTF-8"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    <configuration>
    <property>
    <name>tez.lib.uris</name>
    <value>/tez/tez-0.7.0</value>
    <name>tez.lib.uris</name>
    <value>hdfs://t1:9000/tez/tez-0.8.2.tar.gz</value>
    </property>
    </configuration>
     
    3 修改 hadoop-2.6.0/etc/hadoop/hadoop-env.sh 
     
    export TEZ_HOME=/usr/local/opt/tez-0.7.0
              for jar in `ls $TEZ_HOME |grep jar`; do
    export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$TEZ_HOME/$jar
     done
               for jar in `ls $TEZ_HOME/lib`; do
    export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$TEZ_HOME/lib/$jar
     done
     
     

    以上完成了tez的基本配置,接下来有 2 中方法使我们的任务运行在tez上,一种修改

     mapreduce-site.xml 设置 yarn  改为 yarn-tez

    第二种,修改 hive 直接运行在 tez 上

     

    第三种  hive set tez

     
    ———————————————————— hive on tez (单个 job 运行 Tez) ————————————————————
    1 将编译好的 tez(编译成功的包会放在tez-dist/target )所有jar 包放入 hive下。
         find . -name "*jar" -print | cp -a `xargs` tezlib/ 
    上面命令得到 tez 所有jar 包。
    2  hive on tez 的使用方式 配置好以后 进入 hive
    1. hive (default)>set hive.execution.engine=tez;
    2. set hive.execution.engine=mr 或 退出 hive 即可
       3 如果 hive set tez 后运行异常可以启用调试模式启动hive (linux 下进入 hive 启动模式)
     
                  hive -hiveconf hive.root.logger=DEBUG,console 
    —————————————————— Hive on tez 性能测试——————————————————
    性能测试:
    select a.sex ,b.age , c.* from a join b on a.sex = b.sex join c on a.id ;
     
    3表 各1万 / 169kb  
    Hive on MapReduce
    39分钟 = =!
     
    hive on tez
    25分钟  (未发挥最佳性能,因为数据量大量的 IO 都是拉取。并无多 MR)
    set hive.execution.engine=tez;

    实验 a 164M b 164M c 1.7G d 164M, e 164M
    ————————————————   hive on MR 3 分 9 秒  ————————————————

    ————————————————  hive on tez 22.5 秒  ————————————————

    ———————————————————— hive on tez (所有 job 运行 Tez) ————————————————————

    Tez部署完毕后,下载hive0.14.0的二进制文件,解压即可。然后在hive的conf目录下新建hive-site.xml进行常规的配置,如果要是此hive运行在tez上,可以在配置文件中加上:

    <property>

        <name>mapreduce.framework.name</name>

        <value>yarn-tez</value>

      </property>

    当然这个配置也能加在mapsite.xml里,建议加在需要hive-site.xml以不影响集群其他hive。

         然后打开命令行,首先执行set hive.execution.engine=tez; 这里说下这个配置的含义,

    Setting execution engine to mr and framework name to yarn = Hive compiles to MR and runs on MR.

    Setting execution engine to mr and framework name to yarn-tez = Hive compiles to MR and runs on Tez.

    Setting execution engine to tez = Hive compiles to Tez and runs on Tez.

     
    God has given me a gift. Only one. I am the most complete fighter in the world. My whole life, I have trained. I must prove I am worthy of someting. rocky_24
  • 相关阅读:
    爱你就是我的幸福
    科学加艺术 85句管理名言
    转:IPV6及在UBUNTU和windows下的安装
    JXSE是否可以实现非阻塞IO?
    Transmitting and Receiving RTP over Custom Transport Layer
    多显示器
    可靠的双向管道和不可靠的双向管道
    the source for JMStudio
    转:浅析 Java Thread.join()
    Building Scalable and High Efficient Java Multimedia Collaboration
  • 原文地址:https://www.cnblogs.com/rocky24/p/5805528.html
Copyright © 2011-2022 走看看