sqoop从配置单元表导出到postgresql复制重复的行

4bbkushb  于 2021-06-03  发布在  Sqoop
关注(0)|答案(1)|浏览(442)

我们正在尝试将大约9亿行从配置单元表复制到aurora postgresql(aws)。因为我们在目标表上有一个主键约束,它抛出了违反约束的错误,所以复制失败。因此,我们尝试删除约束,直到复制完成。在30分钟内成功复制了确切的行数。但是,当我们检查数据时,它有几个重复项,并且源代码中有几个行丢失。意思是,假设我们在源代码中有a行,b行,c行,d行。现在,目的地正好有4行,但是它有a行,b行,b行,d行。即b行被复制两次,c行被跳过。
关于这个问题,1。我们不能添加主键。和2。在此过程中,我们将丢失大约100万个原始行。
下面是我们的出口指挥部:
sqoop export -libjars/usr/hdp/current/sqoop client/lib/redshiftjdbc42-1.2.12.1017.jar -driver com.amazon.redshift.jdbc42.driver -connectjdbc:postgresqlhttp://myclusterendpoint.rds.amazonaws。com:5455/db_name?sslmode=require&ssl=true --表mytable --导出目录/data/external/mydatafile --输入字段以“,“--用户名myusernamer--密码mypassword -m 500
如果有人遇到这样的问题或知道原因,请分享您的经验,并帮助我们解决这个问题。提前谢谢。

j5fpnvbx

j5fpnvbx1#

检查sqoop导出 --update-mode (可以是allowinsert)和 --update-key 其中update key可以是主键。
在此过程中,将处理具有重复主键的行。

相关问题