【发布时间】:2021-05-25 15:35:59
【问题描述】:
我一直在通过 Talend 从 CSV 文件将数据加载到 MySQL,SQL 表在数字上具有唯一键(不是主键)以确保没有重复。
示例表:
`id` int(11) NOT NULL AUTO_INCREMENT,
`network_id` varchar(45) DEFAULT NULL,
`num1` varchar(45) DEFAULT NULL,
`num2` varchar(45) DEFAULT NULL,
`date` date DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `num2_unique` (`num2`)
我发现一些数据没有加载,我能找到的唯一原因是与 num1 上的唯一键有关。 在大约 550k 行数据中,一旦运行,表中就会丢失 1.5k 行。 我隔离了 1.5k 行并分别加载它们,效果很好,但我不知道为什么它们一开始就没有加载。
为了检查我再次尝试了 50 行,其中一行已经在 SQL 表中,因此在加载时应该被 Talend 跳过,但是 Talend 拾取了重复的唯一键,但没有加载任何加载到 SQL 的行桌子。从 CSV 文件中删除单个重复行后,其他 59 行将完美加载。
任何关于为什么会发生这种情况和/或解决方法的建议将不胜感激。
【问题讨论】: