TEZ比MapReduce框架快是不争的事实,官网一直没有说怎么快。
下面摘录官网描述
Empowering end users by:
Expressive dataflow definition APIs
Flexible Input-Processor-Output runtime model
Data type agnostic
Simplifying deployment
Execution Performance
Performance gains over Map Reduce
Optimal resource management
Plan reconfiguration at runtime
Dynamic physical data flow decisions
两方面:
1是计算逻辑层,使用DAG描述,比Map/Reduce(当然包括Combined/Shuffle/Sort过程)描述更直接。
2是物理执行计划,比MapReduce Job/Tasks描述更直接。
官网没详细描述,也懒得看源码,只是从官网图中了解到,可以很大程序减少计算过程中中间结果,提升速度。
从右边看确实是可以减少中间数据。
这玩意也有很玖没更新了,从0.7.1版本开始,需要用npm编译安装,妈蛋加了不少前端东西,在中国npm被墙,慢,几乎不可能。编译过0.9.1,太TMD复杂了。
有机会看到一遍文章,才知道TEZ的来龙去脉,属于Google 内部Flume的山寨, 注:非Apache Flume,原来自己做个一个ETL调度系统,里面有很多任务重复,如job1 对表加字段,job 2对表字段做转化,job 3统计 job1 和job2 的结果,三个job,数据会落磁三次。TEZ目前用在Hive生成的Jobs,确实可以减少中间落盘次数。 ETL调度系统进化方向也找到了 。
https://infoq.cn/article/the-evolution-of-large-scale-data-processing
网友评论