2013-07-29 151 views
0

我正在使用水壺從mongodb表加載到mysql表4.4 某行的某列出現錯誤:錯誤的字符串值:'\ xF0 \ x9F \ x98 \ x8D'列。 我檢查了一些論壇,並將該列修改爲utf8mb4_general_ci,但它仍然給出相同的錯誤。忽略插入錯誤

該表有12萬個記錄,我無法確定哪個行發生錯誤。 在表中有_id,它是對象ID。我嘗試通過_id列加載命令,當它停止並出現錯誤時,然後嘗試從我以前的加載中加載> max(_id)。 有了它,它給出了重複的內容,我無法確定哪一行發生了錯誤。

1)有沒有一種方法來確定哪一行是給出錯誤或解決這個錯誤?

2)在表輸出步驟中,有一個選項稱爲插入忽略錯誤,我檢查它並試圖運行。 現在它不給我任何錯誤,但在水壺上它沒有顯示。的記錄爲1192628,但該表只有1192626條記錄。 因此2條記錄丟失。 是否忽略插入錯誤選項忽略有錯誤的行? 如果是這樣,這些錯誤記錄在哪裏? 我試圖閱讀一些文件,但沒有人有這個信息。

如果你們中的任何一位能夠幫助我,那將是非常棒的。

謝謝 Deepthi

回答

2

在你的情況下,它看起來像你可以經常只要你想重新運行負荷。在Table Output步驟中,選中「忽略插入錯誤」就是如此。這些錯誤被忽略並且未被記錄。

我會在你的情況下做的是取消勾選'忽略插入錯誤',並連接你的Table Output錯誤輸出,並將其運行到文本文件或xml文件或其他表輸出。重新運行負載,導致錯誤的兩行將出現在錯誤輸出中。

+0

謝謝它幫助..錯誤的任何解決方案不正確的字符串值:'\ xF0 \ x9F \ x98 \ x8D'列。 – Deepthi

+0

查看Jipipayo的評論。它工作嗎? –

0

看來你正在獲取二進制數據,試試這個轉換爲字符串:在db表輸出中加載之前添加一個新的選擇/重命名值。 點擊選擇/重命名步驟,轉到選項卡元數據,選擇您的輸入字段,輸入:字符串,二進制到正常:Y,編碼:UTF-8(在我的情況下) 十字手指!

+0

謝謝你會試試這個 – Deepthi