Hive-On-Tez性能测试

该博客详细对比了Hive在使用Tez执行MRR和MPJ计算模型时的性能。结果显示,与MapReduce相比,Tez在处理相同任务时,平均用时缩短了约3倍和2倍,显著提升了效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


Hive-On-Tez测试

在MRR和MPJ计算模型的处理上,TEZ能够提升的性能较为明显,具体测试如下:

MRR计算模型测试

  • 测试表格

    1.users(id,name,password): 数据总量1千万条记录;

    2.peoples(id,name,gender,address): 数据总量1千万条记录;

<think>嗯,用户想了解Hive-on-MR已被弃用的相关信息及替代方案,特别是涉及到hive-common-3.1.3的情况。首先,我需要确认Hive-on-MR是什么,为什么被弃用,以及用户可能的替代方案有哪些。 Hive-on-MR指的是Hive使用MapReduce作为执行引擎。根据Apache Hive的文档,从Hive 3.0版本开始,官方已经不推荐使用MapReduce(MR)作为执行引擎了,转而推荐使用更高效的引擎如Tez或Spark。这可能是因为MapReduce在性能上不如Tez或Spark,尤其是在处理复杂的查询和迭代任务时,Tez和Spark在内存管理和执行计划优化方面更有优势。 用户提到的是hive-common-3.1.3,这个版本属于Hive 3.1.x系列,所以应该已经默认使用Tez或其他引擎了。但用户可能在配置或迁移旧系统时遇到了问题,需要确认如何切换执行引擎,或者是否有必要进行切换。另外,用户可能关心现有的Hive-on-MR作业如何迁移到新的引擎,以及替代方案的具体配置步骤。 接下来需要考虑替代方案的具体内容。比如,Tez和Spark作为替代引擎,它们的安装和配置步骤是怎样的,是否需要额外的依赖。例如,Hive切换到Tez需要下载Tez的安装包,并在Hive配置中指定执行引擎。而使用Spark则需要配置Spark的相关参数,并确保集群中有Spark的运行环境。 另外,用户可能还会关心性能对比,比如切换到Tez或Spark后,查询速度的提升幅度,或者资源消耗的变化。可能还需要提到Hive LLAP(Live Long and Process)作为另一种优化方案,它提供了一种混合执行模型,结合了持久化守护进程和按需启动的容器,适合交互式查询。 需要注意的是,引用中提供的链接是关于Hive 3.1.3的安装包和Kylin的操作,可能与问题关联不大,但可以确认用户可能是在部署或升级Hive时遇到了问题,需要确保在Hive的配置文件中正确设置执行引擎参数,比如hive.execution.engine为tez或spark。 此外,用户可能对弃用的具体原因感兴趣,比如MapReduce的磁盘I/O密集型处理方式导致性能瓶颈,而Tez和Spark通过内存计算和DAG优化提高了效率。需要解释这些技术差异,帮助用户理解为什么需要迁移。 最后,生成的相关问题可能需要包括如何检查当前Hive的执行引擎,迁移过程中可能遇到的兼容性问题,以及不同引擎的适用场景等。确保用户能够全面了解替代方案,并根据自身情况选择合适的引擎。</think>### Hive-on-MR弃用信息及替代方案 Hive-on-MR(Hive on MapReduce)是Apache Hive早期默认的执行引擎,但在Hive 3.0及以上版本中已被标记为**弃用**。以下是关键信息及替代方案: --- #### 1. **弃用原因** - **性能瓶颈**:MapReduce基于磁盘的读写模型导致高延迟,尤其在复杂查询时效率低下[^3]。 - **资源利用不足**:MapReduce的多阶段任务调度机制无法充分利用内存资源。 - **技术演进**:Apache社区推动更高效引擎(如Tez、Spark)作为未来方向。 --- #### 2. **替代方案** ##### (1) **Hive-on-Tez** - **优势**:通过DAG(有向无环图)优化任务执行流程,减少中间数据落盘,提升性能30%-50%。 - **配置方法**: ```sql --hive-site.xml中设置 <property> <name>hive.execution.engine</name> <value>tez</value> </property> ``` - **依赖**:需安装Tez并配置`TEZ_HOME`环境变量。 ##### (2) **Hive-on-Spark** - **优势**:利用Spark内存计算特性,适合迭代式任务和机器学习场景。 - **要求**: - Hive 3.1.3需搭配Spark 2.4+版本。 - 配置`spark.yarn.archive`指向Spark依赖包[^1]。 ##### (3) **LLAP(Live Long and Process)** - **特点**:混合执行模式,通过常驻守护进程加速查询响应。 - **适用场景**:交互式分析(如BI工具连接)。 --- #### 3. **迁移注意事项** - **兼容性**:大部分Hive SQL语法可直接迁移,但需注意UDF和自定义函数的兼容性。 - **资源调整**:Tez/Spark需调整内存参数(如`tez.task.resource.memory.mb`)。 - **验证步骤**: 1. 在试环境验证查询结果一致性。 2. 对比性能指标(如执行时间、CPU/内存消耗)。 --- #### 4. **Hive 3.1.3相关配置** - **默认引擎**:Hive 3.1.3默认使用Tez,若需恢复MR需手动修改配置(不推荐)。 - **依赖包路径**:确保`hive.common.jars.url`指向Tez或Spark的JAR包地址[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值