我们正在尝试将大约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
如果有人遇到这样的问题或知道原因,请分享您的经验,并帮助我们解决这个问题。提前谢谢。
1条答案
按热度按时间j5fpnvbx1#
检查sqoop导出
--update-mode
(可以是allowinsert)和--update-key
其中update key可以是主键。在此过程中,将处理具有重复主键的行。