2012-02-08 20 views
7

我從MS SQL Server的Hive中導入了大約10個表格附近。 但是,當我嘗試交叉檢查Hive中的記錄時,我在運行查詢(從tblName選擇count(*)時發現了更多記錄)。在Hive中導入表格後顯示錯誤的計數

然後我放棄了那張表,然後再將它導入到Hive中。我在控制檯日誌中觀察到(檢索到203條記錄)。 然後我再次嘗試(從tblName選擇計數(*);),我得到了298計數。

我不明白這是爲什麼發生這種情況。查詢中有任何錯誤,或者由於sqoop-import的某些不正確的命令而發生。

所有其他表記錄都很好。

請幫我解決這個問題。

回答

7

我從郵件列表中找到了這個問題的解決方案,我想分享它。 他們的回覆如下:

我們以前遇到過類似的問題 - 蜂巢中的表看起來有多於報告要由sqoop導入的行數,並且在數據庫中實際可用。

我們這邊描述的問題是導出的數據中的不正確字符,導致導出的測試CSV文件中的行發生斷裂。例如,我們的一些行包含帶有新行字符的數據。由於導出的行被分割成多行,因此配置單元的行數似乎超過導入數量。您可能遇到類似的問題。我們已通過使用參數--hive-drop-import-delims解決了該問題(或者您可以使用--hive-delims-replacement)。對於語義和用法,請考慮採取看看手冊:

http://incubator.apache.org/sqoop/docs/1.4.0-incubating/SqoopUserGuide.html#id1765770

感謝