Hive插入数据告诫:Hive-on-MR is deprecated in Hive 2 and may not be av ...

打印 上一主题 下一主题

主题 906|帖子 906|积分 2718

1、题目形貌


启动Hadoop,使用hiveserver2启动Hive的JDBC服务并使用IDE连接到Hive,创建表成功,但是INSERT插入数据时经过长时间加载后无法得到预期结果,插入不成功。IDE终极也会提示错误,但仅仅是一个网络非常。Linux控制台显示告诫:
  1. WARNING:Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. spark, tez) or using Hive 1.X releases.
  2. Query ID = root_20231112140522_fda3dd73-cfa3-4f62-a925-aa02cc107526
  3. Total jobs = 3
  4. Launching Job 1 out of 3
  5. Number of reduce tasks is set to 0 since there's no reduce operator
复制代码
然后使用hive命令换为Hive的控制台操作,结果仍旧如此

2、原因分析


经太过析告诫翻译:
Hive-on-MR在Hive 2中已弃用,而且在将来版本中可能不可用。思量使用差别的实行引擎(例如Spark、Tez)或使用Hive 1.x版本
我们发现,这就很明显了,说明Hive在2.x版本中已经不支持MapReduce了,让你换为Spark或Tex
然而,许多小伙伴都是本地测试时使用的INSERT,更换Spark、Tez可不是那么轻易;现实工作中根据生产情况需要可直接进行引擎修改,乃至都不用你修改,底层自动优化自动选择实行引擎
那我要是就不想换,你还能不让我不用MapReduce了?
3、题目解决


经过查找资料,网友们发现将Hive设置成本地模式来实行任务答应你使用MapReduce
1) 暂时设置Hive本地模式:
  1. set hive.exec.mode.local.auto=true;
复制代码
2) 永世设置Hive本地模式:
修改Hive设置文件hive-site.xml,添加如下属性设置:
  1. <property>
  2.     <name>hive.exec.mode.local.auto</name>
  3.     <value>true</value>
  4. </property>
复制代码
修改设置后需要重启Hive
3) 验证
再次实行INSERT操作,很快就能完成:

HDFS数据也能写入:


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

商道如狼道

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表