我使用水壶4.4从mongodb表加载到mysql表 某行的其中一列给出错误:字符串值不正确:列的'\ xF0 \ x9F \ x98 \ x8D'。 我检查了一些论坛并将列修改为utf8mb4_general_ci,但它仍然给出了同样的错误。
该表有12万个+记录,我无法确定哪一行发出错误。 在表中有_id是对象id。我尝试在_id列上加载订单,当它因错误而停止时,然后尝试加载>我之前加载的最大值(_id)。 有了这个,它会给出重复项,并且无法确定哪一行给出了错误。
1)有没有办法确定哪一行给出了错误或解决了这个错误?
2)在表输出步骤中,有一个名为insert ignore errors的选项,我检查了它并尝试运行。 现在它没有给我任何错误,但在水壶上它显示没有。写为1192628的记录,但该表只有1192626条记录。 所以缺少2条记录。 忽略插入错误选项会忽略有错误的行吗? 如果是这样,这些错误记录在哪里? 我试着阅读一些文件,但没有人知道这些信息。
如果你们中的任何一个人能帮助我,那就太棒了。
谢谢你, Deepthi
答案 0 :(得分:2)
在您的情况下,您似乎可以根据需要重新运行负载。在Table Output
步骤中,选中<忽略插入错误&#39;就是这么做的。错误被忽略,不记录。
我要做的是取消选中&#39;忽略插入错误&#39;,并连接Table Output
的错误输出并将其运行到文本文件或xml文件或其他表输出。重新运行负载,导致错误的两行将出现在错误输出中。
答案 1 :(得分:0)
似乎你正在获取二进制数据,尝试将其转换为String:在db表输出中加载之前添加新的select / rename值。 单击选择/重命名步骤,转到选项卡元数据,选择输入字段,键入:字符串,二进制到正常:Y ,编码:UTF-8(在我的情况下) 交叉手指!