首页 > 解决方案 > Sqoop 导出错误:目标数据库尚不支持混合更新/插入

问题描述

我正在尝试使用以下命令将我的数据从 Hive 表导出到 RDMBS(Microsoft SQL Server 2016):

sqoop export \
  --connect connectionStirng \
  --username name \
  --password password \
  --table Lab_Orders \
  --update-mode allowinsert \
  --update-key priKey \
  --driver net.sourceforge.jtds.jdbc.Driver \
  --hcatalog-table lab_orders \
  -m 4

我想做增量导出,所以我指定了更新模式和更新键。但是,当我运行此命令时,它会因以下错误而失败:

ERROR tool.ExportTool: Error during export:
Mixed update/insert is not supported against the target database yet
at org.apache.sqoop.manager.ConnManager.upsertTable(ConnManager.java:684)
at org.apache.sqoop.tool.ExportTool.exportTable(ExportTool.java:73)
at org.apache.sqoop.tool.ExportTool.run(ExportTool.java:99)
at org.apache.sqoop.Sqoop.run(Sqoop.java:147)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:183)
at org.apache.sqoop.Sqoop.runTool(Sqoop.java:234)
at org.apache.sqoop.Sqoop.runTool(Sqoop.java:243)
at org.apache.sqoop.Sqoop.main(Sqoop.java:252)

我经历了所有可能的解决方案,包括删除--driver。如果我删除驱动程序,它就无法识别 RDBMS 表。我在 cloudera 集群上使用 sqoop 版本 Sqoop 1.4.6-cdh5.11.1。

有人可以帮助解决可能的问题吗?

标签: hivesqoop

解决方案


推荐阅读