`
qindongliang1922
  • 浏览: 2146968 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7265517b-f87e-3137-b62c-5c6e30e26109
证道Lucene4
浏览量:116317
097be4a0-491e-39c0-89ff-3456fadf8262
证道Hadoop
浏览量:124587
41c37529-f6d8-32e4-8563-3b42b2712a50
证道shell编程
浏览量:58449
43832365-bc15-3f5d-b3cd-c9161722a70c
ELK修真
浏览量:70347
社区版块
存档分类
最新评论

Pig0.15集成Tez,让猪飞起来

    博客分类:
  • Pig
阅读更多


1,Tez是什么?

Tez是Hortonworks公司开源的一种新型基于DAG有向无环图开源计算框架,它可以将多个有依赖的作业转换为一个作业从而大幅提升DAG作业的性能,看下面一张图,就能说明问题:




2,Tez能干什么?

上图已经说明问题了,如果将我们的Hive,或者Pig运行在Tez之上,那么速度会有几倍的提升,当然这仅仅是相对MapReduce来讲的,因为Spark这种分布式内存计算框架才是未来的的主流,所以让大家熟悉了解一下这个东西也并无坏处。

当我们的程序有很多复杂的操作时,例如,过滤,分组,排序,合并,聚合等,传统的MR是会每一个阶段都会落地操作的,当然开发者当初这么设计,也并不是没有道理的,只不过随着时代进步,人们追求更高,更快的性能或速度时,这个落地操作,拖了整体处理的性能,Tez能够合并多个阶段的过程,直接无须落地,就能进行下一阶段的任务处理,这是提速的一种不错的方法,当然spark直接利用内存做迭代运算,速度更是快的没法说,当然前提是你有足够大的内存,如果你没有那么大的内存,性能其实与普通MR是差不多的。


3,下面进入正题,看看如何使Pig运行在Tez之上。
Pig最新的版本,Pig0.15已经支持Pig On Tez的模式运行,使用方法,也非常简单

不需要你下载Tez的源码,然后编译大半天,最后还有可能失败,因为Pig直接内置了Tez的处理jar包

(1)在装好的Hadoop的etc/hadoop/下面
直接新建一个 vi tez-site.xml


<configuration>
    <property>
        <name>tez.lib.uris</name>
       <value>/user/tez</value>
    </property>
</configuration>

(2)在hdfs上新建一个/user/tez目录

(3)拷贝/ROOT/server/pig/lib/h2下,以tez开头的所有的jar包上传到/user/tez下面


除此之外,还需要guice3.0所有的jar包
以及:commons-collections4-4.0.jar包
至此,所有的jar包已经齐全


(4)Tez  vs MapReduce

同样一个pig脚本,分别运行两种任务模式

pig t.pig   MapReduce模式
pig -x tez t.pig Tez模式

MapReduce的截图如下:


Tez任务耗时截图:


可以看出Tez下,任务执行的非常之迅速,堪比Spark的速度了,

最后再记录一个问题:



由于我的
dfs.datanode.max.xcievers打开的文件数,设置的太大了(65535),导致上述的异常发生,这个
属性的含义是:
相当于linux下的打开文件最大数量,文档中无此参数,当出现DataXceiver报错的时候,需要调大。默认256
当修改为2048后,重启启动集群再次,跑Tez作业时,没有上述的异常发生了




最后欢迎大家扫码关注微信公众号:我是攻城师(woshigcs),我们一起学习,进步和交流!(woshigcs)
本公众号的内容是有关搜索和大数据技术和互联网等方面内容的分享,也是一个温馨的技术互动交流的小家园,有什么问题随时都可以留言,欢迎大家来访!












  • 大小: 128.7 KB
  • 大小: 35 KB
  • 大小: 30.6 KB
  • 大小: 38.7 KB
  • 大小: 25 KB
  • 大小: 44.7 KB
  • 大小: 5.7 KB
3
2
分享到:
评论

相关推荐

    CDH6.3.2集成tez

    CDH6.3.2集成tez

    cdh继承tez引擎 cdh添加tez引擎 hive引擎增加

    包括pom修改的每个截图和配置,该文档从有道云笔记到处略加修改,其中pom内容格式需要你手动调整一下. 富含 大量截图帮助定位和配置. 含hive on tez 常见报错的解决方法. tez比spark更省心. spark容易出现内存问题.

    Apache TEZ部署手册

    Apache TEZ 部署手册 的各个步骤,包括打包等步骤说明

    源码apache-tez-0.8.3编译后的hadoop2.7.3版本hive-tez包tez-0.8.3.tar.gz

    源码使用的是apache-tez-0.8.3,对应的hadoop版本2.7.3,源码包中的nodejs的版本是v0.12.3,很难编译通过,最后把nodejs改成了v4.0.0才编译通过tez-ui2模块。

    源码apache-tez-0.8.3编译后的hadoop2.8.3版本hive-tez包tez-0.8.3.tar.gz

    源码使用的是apache-tez-0.8.3,对应的hadoop版本2.8.3,源码包中的nodejs的版本是v0.12.3,很难编译通过,最后把nodejs改成了v4.0.0才编译通过tez-ui2模块。

    tez-ui-0.10.1.war

    最新版本tez-ui war包,可以解决tez编译问题出现tez-ui编译不进去的问题,现在可以吧这个拿出来自己配置到hadoop和tez上

    Programming Pig: Dataflow Scripting with Hadoop [2016]

    Use Pig with Apache Tez to build high-performance batch and interactive data processing applications Create your own load and store functions to handle data formats and storage mechanisms

    apache-tez-0.9.0-bin.tar.gz

    Tez是Apache开源的支持DAG作业...总结起来,Tez有以下特点: (1)Apache二级开源项目(源代码今天发布的) (2)运行在YARN之上 (3) 适用于DAG(有向图)应用(同Impala、Dremel和Drill一样,可用于替换Hive/Pig等)

    apache-tez源码

    学习大数据的小白用得到的apache tez源码,通过源码可以感受大牛们的代码风格和思维逻辑

    apache-tez-0.9.2-bin.tar.gz

    apache tez 安装

    apache-tez-0.8.3-src.tar.gz

    Tez是Apache开源的支持DAG作业的...总结起来,Tez有以下特点: (1)Apache二级开源项目(源代码今天发布的) (2)运行在YARN之上 (3) 适用于DAG(有向图)应用(同Impala、Dremel和Drill一样,可用于替换Hive/Pig等

    tez-0.10.1.zip

    基于github tez最新版本编译,编译日期为2021-03-22,压缩包带有tar包和tez-ui的war包

    tez-0.9.1.tar.gz

    tez-0.9.1.tar.gz(CDH6.3.2编译版)已安装测试

    tez-0.9.2-minimal.tar.gz

    基于hadoop 3.2.1和 TEZ 0.9.2 最新版本比编译的tar包 ,欢迎下载,欢迎使用,希望好用

    运行引擎Tez.zip

    Tez是一个Hive的运行引擎,性能优于MR.Tez可以将多个有依赖的作业转换为一个作业,这样只需写一次HDFS,且中间节点较少,从而大大提升作业的计算性能。

    hive&tez.zip

    apache-hive-2.3.6-bin.tar.gz & apache-tez-0.9.1-bin.tar.gz

    tez-0.8.5-hadoop-2.6.5-bin.zip

    tez-0.8.5-hadoop-2.6.5-bin,java1.8。hadoop2.6.5,jdk1.8,tez-0.8.5的编译包。

    tez-0.9.2.tar.gz

    基于hadoop3.2.1编译的tez0.9.2包,自己编译的,欢迎使用,欢迎下载

    Hive_1.2.1_Tez_0.9.1安装包.rar

    资源中包含了Hive1.2.1和Tez0.9.1安装包,安装配置说明可参考我的博客,如果安装过程中遇到问题可与我联系解决。

Global site tag (gtag.js) - Google Analytics