WARNING: Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Conside

本文介绍了在使用Hive进行简单查询时报错的问题,并提供了解决方案:通过编辑/etc/hosts文件添加集群hosts来解决Hive-on-MR的警告。

今天在hive中查询了一个简单的select count(*) from table,结果报错
WARNING: Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Conside

查了一些资料,只要vim /etc/hosts
将你配置的集群hosts都写上去就好了.
在这里插入图片描述
然后再重新启动hive/beeline,执行命令即可

### 解决方案概述 Hive-on-MapReduce (MR) 被废弃的主要原因是其性能瓶颈以及社区对其支持逐渐减少。为了应对这一挑战,可以考虑以下两种主要方向:一是升级到更高效的执行引擎(如 Spark 或 Tez),二是继续使用较旧的 Hive 版本(如 Hive 1.x)。以下是针对这两种方法的具体分析和实施建议。 --- #### 替代执行引擎的选择与配置 ##### 使用 Apache Tez Apache Tez 是一种基于 DAG 的计算框架,能够显著提升 Hive 查询的性能。Tez 提供了更高的灵活性和优化能力,适合处理复杂的查询场景[^2]。 - **安装步骤** 需要先确认 Hadoop 和 Hive 已经正确部署完毕。 ```bash # 安装 Tez 并将其路径加入环境变量 export TEZ_HOME=/path/to/tez export HIVE_AUX_JARS_PATH=$TEZ_HOME/share/tez/* # 修改 hive-site.xml 文件启用 Tez 执行引擎 <property> <name>hive.execution.engine</name> <value>tez</value> </property> ``` - **注意事项** 确保集群中的节点已安装并启用了 YARN 支持,因为 Tez 运行在 YARN 上[^3]。 ##### 使用 Apache Spark Spark 是另一种高性能分布式计算框架,尤其适用于迭代型算法和大规模数据集。它通过内存计算提供了更快的速度和更好的资源利用率[^4]。 - **安装步骤** 同样需验证基础组件是否正常运行后再集成 Spark。 ```bash # 设置 SPARK_HOME 变量并将 Spark JAR 添加至 Hive 辅助类路径中 export SPARK_HOME=/path/to/spark export HIVE_AUX_JARS_PATH=$SPARK_HOME/jars/* # 更新 hive-site.xml 来指定 Spark 作为默认执行器 <property> <name>hive.execution.engine</name> <value>spark</value> </property> # 如果需要自定义更多参数可在此处添加其他属性项... ``` - **优势对比** 对于实时性和复杂 ETL 流程而言,Spark 明显优于 Tez;然而对于仅涉及简单 SQL 操作的应用程序来说,则可能无需迁移到如此重量级的技术栈之上[^5]。 --- #### 继续使用 Hive 1.X 版本的方法 如果业务需求不允许迁移或者暂时无法切换新的执行引擎,那么可以选择保留现有的 Hive-on-MR 构架并通过固定特定版本号来规避未来兼容性风险: - **下载对应源码包** 访问官方仓库获取稳定发行版二进制文件或自行编译适合自己操作系统架构的目标产物[^6]。 - **调整依赖关系管理工具设置** 如 Maven POM.XML 中锁定子模块所引用库清单不变动从而维持一致行为模式[^7]. ```xml <dependencyManagement> <!-- 锁定所需构件 --> <dependencies> ... </dependencies> </dependencyManagement> ``` - **测试回归验证流程** 在正式上线前务必进行全面的功能覆盖度检验工作以确保改动不会引入意外副作用影响生产环境稳定性[^8]. --- ### 总结说明 无论是采用新型高效能运算平台还是坚持沿用传统方式都各有优劣之处,在实际操作过程中应当综合考量项目具体情况做出合理判断决策。希望以上信息对你有所帮助!
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值