sqoop碰到的問題


sqoop碰到的問題

背景:從Oracle接入數據,一張表一千多萬,數據量13G左右。

  1. 報錯,表名找不到,將表名改成大寫的

  2. Exception in thread "main" java.lang.NoClassDefFoundError: org/json/JSONObject
    

    因為sqoop缺少java-json.jar包,下載jar包,把java-json.jar添加到../sqoop/lib目錄就可以。

  3. Import failed: java.io.IOException: Generating splits for a textual index column allowed only in case of "-Dorg.apache.sqoop.splitter.allow_text_splitter=true" property passed asa parameter
    

    需要指定 --split-by 主鍵 並指定 "-Dorg.apache.sqoop.splitter.allow_text_splitter=true"參數即可

  4. Could not load org.apache.hadoop.hive.conf.HiveConf. Make sure HIVE_CONF_DIR is set correctly
    

    把 hive目錄下的hive-common-***.jar包拷貝到/sqoop/lib下

    cp ${HIVE_HOME}/lib/hive-common-3.0.0.jar ${SQOOP_HOME}/lib/ 
    
  5. FAILED: SemanticException [Error 10101]: A non-native table cannot be used as target for LOAD
    

    說明sqoop導入的目標表是一個外部表,把這個外部表刪掉,或者指定另外的表名即可。

  6. 還需要下載Oracle驅動包,放到/sqoop/lib下,下載地址

最后的sqoop的語句為:

sqoop import "-Dorg.apache.sqoop.splitter.allow_text_splitter=true" -- hive-import --connect jdbc:oracle:thin:@ip:1521:lisgg1 --username name --password passwd --table tablename --hive-database default --hive-table hivetablename -m 3 --split-by contno

以上碰到的問題解決辦法不唯一,列出的為個人覺得比較簡單的解決方式,上述網站可能需要翻牆


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM