sqoop在hive3版本上export报错的解决方式

在进行系统迁移时,sqoop推数始终不成功,报错如下:
ERROR tool.ExportTool: Encountered IOException running export job:
org.apache.hive.hcatalog.common.HCatException : 2016 : Error operation not supported : Store into a transactional table fxgl.fxgl_recnclt_result_upd from Pig/Mapreduce is not supported
at org.apache.hive.hcatalog.mapreduce.HCatOutputFormat.setOutput(HCatOutputFormat.java:110)
at org.apache.hive.hcatalog.mapreduce.HCatOutputFormat.setOutput(HCatOutputFormat.java:71)
at org.apache.sqoop.mapreduce.hcat.SqoopHCatUtilities.configureHCat(SqoopHCatUtilities.java:419)
at org.apache.sqoop.mapreduce.ExportJobBase.runExport(ExportJobBase.java:431)
at org.apache.sqoop.manager.SqlManager.exportTable(SqlManager.java:930)
at org.apache.sqoop.tool.ExportTool.exportTable(ExportTool.java:94)
at org.apache.sqoop.tool.ExportTool.run(ExportTool.java:113)
at org.apache.sqoop.Sqoop.run(Sqoop.java:151)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76)
at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:187)
at org.apache.sqoop.Sqoop.runTool(Sqoop.java:241)
at org.apache.sqoop.Sqoop.runTool(Sqoop.java:250)
at org.apache.sqoop.Sqoop.main(Sqoop.java:259)
20/09/20 13:40:53 INFO metastore.HiveMetaStoreClient: Closed a connection to metastore, current connections: 1

根据报错的情况可知,export时,hive表是事务表,sqoop推数不支持;
这是由于hive进入3.0版本之后,所建的表默认的都是事务表,而sqoop推数是不支持事务表,会报错;

解决办法:
将需要推数的hive表建成外部表就可以了,外部表是非事务表,推数不会存在问题;

create external table xxxx;
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值