Sqoop 导出 DB2 更新密钥
Sqoop export DB2 update-key
我正在尝试使用 sqoop export 将数据导出到 db2 数据库
--update-mode allowinsert
--update-key some_column
但我无法确定 DB2 是否支持此功能。 sqoop 导出失败消息是神秘的,没有提供任何关于实际失败的信息,而且我在任何地方都找不到专门用于 DB2 的任何示例。
如有任何信息,我们将不胜感激。
进一步attempts/research后,我发现DB2确实支持
--update-key id
但尚不支持
--update-mode allowinsert
这意味着您不能使用 sqoop 对 DB2 进行更新插入,但是您可以单独进行更新和插入。对于更新,只需使用 --update-key id
,对于插入,完全删除参数。
但是,需要注意的是,如果您的数据集包含更新和插入,而您尝试在没有 --update-key
的情况下进行插入,则导出将失败。您首先需要将数据分成新的 records/updated 记录,然后单独推送它们中的每一个。
最后,在有新记录的地方进行更新将简单地忽略新记录并且不会失败。但是,即使 sqoop 标准输出告诉您所有记录都已导出,也不会插入新记录。
我正在尝试使用 sqoop export 将数据导出到 db2 数据库
--update-mode allowinsert
--update-key some_column
但我无法确定 DB2 是否支持此功能。 sqoop 导出失败消息是神秘的,没有提供任何关于实际失败的信息,而且我在任何地方都找不到专门用于 DB2 的任何示例。
如有任何信息,我们将不胜感激。
进一步attempts/research后,我发现DB2确实支持
--update-key id
但尚不支持
--update-mode allowinsert
这意味着您不能使用 sqoop 对 DB2 进行更新插入,但是您可以单独进行更新和插入。对于更新,只需使用 --update-key id
,对于插入,完全删除参数。
但是,需要注意的是,如果您的数据集包含更新和插入,而您尝试在没有 --update-key
的情况下进行插入,则导出将失败。您首先需要将数据分成新的 records/updated 记录,然后单独推送它们中的每一个。
最后,在有新记录的地方进行更新将简单地忽略新记录并且不会失败。但是,即使 sqoop 标准输出告诉您所有记录都已导出,也不会插入新记录。