Hive on Tez
Tez介绍
`Tez是Apache开源的DAG作业的计算引擎,是为了减少Hive作业的延迟而提出的解决方案`,Tez已被Hortonworks用于Hive引擎的优化,经测试,性能提升约100倍。Tez+HIve仍然采用MapReduce计算框架,但是对DAG的依赖关系进行了裁剪,并将多个小作业合并成了一个大作业。这样不仅作业量减少了,而且写HDFS的次数也会大大减少。
Tez的特点
1.丰富的数据流(dataflow,Not Streaming!)编程接口
2.扩展性良好的”Input-Processor-Output“运行模型
3.简化数据部署`(充分利用了Yarn框架,Tez本身仅是一个客户端编程库,无需事先部署相关服务)`
4.`性能优于MapReduce`
5.优化的资源管理(直接运行在资源管理系统Yarn之上)
6.动态生成物理数据流(dataflow)
Tez的两个设计主题
通过以下方式增强用户的能力:
1.表现型数据流定义API
2.灵活的输入-处理-输出运行时模型
3.不可知的数据类型
4.简化部署
执行性能
1.优于MapReduce的性能
2.最优资源管理
3.在运行时计划重新配置
4.动态物理流数据决策
通过允许像ApacheHive和ApachePig这样的项目运行复杂的DAG任务,Tez可用来处理数据,早期的数据需要多个MR作业,现在都在一个Tez作业中