———————————————————— 调配 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.

 

Apache Tez on hive的更多相关文章

  1. Apache Tez 了解

    你可能听说过Apache Tez,它是一个针对Hadoop数据处理应用程序的新分布式执行框架.但是它到底是什么呢?它的工作原理是什么?哪些人应该使用它,为什么?如果你有这些疑问,那么可以看一下Bika ...

  2. Apache Tez Design

    http://tez.incubator.apache.org/ http://dongxicheng.org/mapreduce-nextgen/apache-tez/ http://dongxic ...

  3. Apache Hudi 与 Hive 集成手册

    1. Hudi表对应的Hive外部表介绍 Hudi源表对应一份HDFS数据,可以通过Spark,Flink 组件或者Hudi客户端将Hudi表的数据映射为Hive外部表,基于该外部表, Hive可以方 ...

  4. CentOS 6.5 Maven 编译 Apache Tez 0.8.3 踩坑/报错解决记录

    最近准备学习使用Tez,因此从官网下载了最新的Tez 0.8.3源码,按照安装教程编译使用.平时使用的集群环境是离线的,本打算这一次也进行离线编译,无奈一编译就开始报缺少jar包的错,即使手动下载ja ...

  5. Caused by: java.sql.SQLException: Failed to start database 'metastore_db' with class loader org.apache.spark.sql.hive.client.IsolatedClientLoader$$anon$1@d7c365, see the next exception for details.

    解决方法:https://stackoverflow.com/questions/37442910/spark-shell-startup-errors 异常: 18/01/29 19:04:27 W ...

  6. Apache ranger整合hive报错记录

    版本信息如下: hadoop2.9.2 hive 2.x ranger 最新版2.1.0 在hive端部署完ranger 插件以后,在使用beeline连接查询数据库时报错,报错信息如下: verbo ...

  7. local模式运行spark-shell时报错 java.lang.IllegalArgumentException: Error while instantiating 'org.apache.spark.sql.hive.HiveSessionState':

    先前在local模式下,什么都不做修改直接运行./spark-shell 运行什么问题都没有,然后配置过在HADOOP yarn上运行,之后再在local模式下运行出现以下错误: java.lang. ...

  8. Apache Tez 0.7、0.83、 0.82 安装、调试笔记

    ———————————————————— 准备 Tez 编译环境 ———————————————————— 1 需要的支持 tez0.7 需要 Hadoop 2.60 以上 2 需要的 linux 相 ...

  9. apache开源项目--HIVE

    Hive是一个基于Hadoop的数据仓库平台.通过hive,我们可以方便地进行ETL的工作.hive定义了一个类似于SQL的查询语言:HQL,能 够将用户编写的QL转化为相应的Mapreduce程序基 ...

随机推荐

  1. HDU 1788

    必须MARK下:任何时候都要保持清醒头脑,不要被题目绕了.. 其实就是求最小公倍数. #include <iostream> #include <cstdio> #includ ...

  2. rails的数据库查询方法

    rails的数据库查询方法 学习了:http://blog.csdn.net/menxu_work/article/details/8664962 学习了:http://www.cnblogs.com ...

  3. Android菜鸟笔记- 获取未安装的APK图标、版本号、包名、名称、是否安装、安装、打开

    周末闲来无事,把Android的基础知识拿出来复习复习,今天主题是<获取未安装的APK图标.版本号.包名.名称.是否安装.跳转安装.打开> 一.获取APK图标 通常读取APK的图标能够用, ...

  4. Bash脚本中的操作符

    一.文件測试操作符 假设以下的条件成立将会返回真. -e 文件存在 -a 文件存在 这个选项的效果与-e同样. 可是它已经被"弃用"了, 而且不鼓舞使用. -f 表示这个文件是一个 ...

  5. hdoj--1051--Wooden Sticks(LIS)

    Wooden Sticks Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) To ...

  6. oracle性能检测sql语句

    1. 监控事例的等待 select event,sum(decode(wait_Time,0,0,1)) "Prev",sum(decode(wait_Time,0,1,0)) & ...

  7. caffe遇到的错误记录

    Caffe——一个多么方便的深度学习工具,为啥安装和使用起来的bug这么多呢!把痛苦的记忆记录下来,把希望留给后人. Caffe的万丈高楼(Net)是按照我们的设计图纸(prototxt),用Blob ...

  8. 利用jqueryzoom实现图片放大镜效果

    在你的页面中包含 jqzoom.css <link rel="stylesheet" href="your_path/jqzoom.css" type=& ...

  9. animate.css引入实现动画效果

    最近在网上看到很多代码都通过引入animate.css来实现动画效果,后来我便使用这种方法来尝试着写了个小案例,结果真的很好用,比我们通常情况下使用css或js实现动画效果好得多,便在此做个总结. 第 ...

  10. C/C++函数调用约定与this指针

    关于 C/C++ 函数调用约定,大多数时候并不会影响程序逻辑,但遇到跨语言编程时,了解一下还是有好处的. VC 中默认调用是 __cdecl 方式,Windows API 使用 __stdcall 调 ...