gpt4 book ai didi

hadoop - 使用 sqoop 将数据从 Hive 导出到 rdbms 时如何处理主键

转载 作者:可可西里 更新时间:2023-11-01 16:31:54 26 4
gpt4 key购买 nike

这是我的场景,我在配置单元仓库中有一个数据,我想将此数据导出到 mysql 中名为“测试”数据库的“示例”表中。如果一列是 sample.test 中的主键,并且 hive 中的数据(我们正在导出)在该键下有重复值,那么作业显然会失败,那么我该如何处理这种情况?

提前致谢

最佳答案

如果你希望你的 mysql 表只包含重复项中的最后一行,你可以使用以下内容:

sqoop export --connect jdbc:mysql://<*ip*>/test -table sample --username root -P --export-dir /user/hive/warehouse/sample --update-key <*primary key column*> --update-mode allowinsert

导出时,Sqoop 默认将每一行转换为插入语句。通过指定--update-key,每一行都可以转换为一条更新语句。但是,如果特定行不存在以供更新,则默认情况下会跳过该行。这可以通过使用 --update-mode allowinsert 来覆盖,它允许将此类行转换为插入语句。

关于hadoop - 使用 sqoop 将数据从 Hive 导出到 rdbms 时如何处理主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27917940/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com