实验环境
内存:16GB
CPU:i5 4590
Centos:6.8
Hive:2.3.6
实验数据
数据量:1138526
字段:3个
实验目的
对比Hive on MR 与 Hive on Tez 以及Hive本地模式在不同语句下的执行效率对比
实验结论
省去看实验过程的麻烦
- 本地模式肉眼可见,效果极佳,但是对硬件和内存有一定要求,无法处理大数据量
- Tez优势是将具有依赖的多个作业转换成一个作业,从而减少与HDFS的交互,达到提升效率的目的。
- count和排序优化效果不好的原因是什么——尚未找到合理的解释
- 最初猜想是Tez是将多个作业转换为1个作业,但原本mr的个数就是1效果就没有提高,但表中group by效果是有提高的
- 随后猜想是tez中map和reduce个数明显增加导致的,但是在其他查询语句中都有增加
实验过程
count(*)
语句:select count(*) from youtube
MR:
Stage-Stage-1: Map: 1 Reduce: 1 Cumulative CPU: 3.27 sec HDFS Read: 33613985 HDFS Write: 8 SUCCESS
Total MapReduce CPU Time Spent: 3 seconds 270 msec
OK
_c0
1138562
Time taken: 35.19 seconds, Fetched: 1 row(s)
Local:
Stage-Stage-1: HDFS Read: 67225364 HDFS Write: 146047738 SUCCESS
Total MapReduce CPU Time Spent: 0 msec
OK
_c0
1138562
Time taken: 3.294 seconds, Fetched: 1 row(s)
Tez:<