忽略插入错误

时间:2013-07-29 14:26:11

标签: mongodb pentaho kettle pentaho-design-studio

我使用水壶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

2 个答案:

答案 0 :(得分:2)

在您的情况下,您似乎可以根据需要重新运行负载。在Table Output步骤中,选中<忽略插入错误&#39;就是这么做的。错误被忽略,不记录。

我要做的是取消选中&#39;忽略插入错误&#39;,并连接Table Output的错误输出并将其运行到文本文件或xml文件或其他表输出。重新运行负载,导致错误的两行将出现在错误输出中。

答案 1 :(得分:0)

似乎你正在获取二进制数据,尝试将其转换为String:在db表输出中加载之前添加新的select / rename值。 单击选择/重命名步骤,转到选项卡元数据,选择输入字段,键入:字符串,二进制到正常:Y ,编码:UTF-8(在我的情况下) 交叉手指!