hive - 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。
有人可以帮助解决可能的问题吗?
解决方案
推荐阅读
- vim - Vim 在某些文件而不是其他文件上插入空格而不是制表符
- javascript - 如何更改 material-ui 元素的“错误”道具?
- c++ - std::memory_order 和指令顺序,澄清
- python - 对齐两个二进制矩阵以获得最大重叠
- python - 重构多个相等检查的最pythonic方法
- apache-camel - 使用 Apache Camel ConsumerTemplate 从 ActiveMQ Artemis 轮询字节/大消息
- forms - TYPO3 Ext:form Checkbox Label with Link inside
- javascript - GraphQL 数据到对象
- tensorflow - 将资产加载到颤振项目中的问题
- javascript - 如何从javascript中的for-each循环返回每个值