解決Sqoop將mysql表數據導入到Hive時報錯HiveConf和derby driver問題

執行sqoop import 語句將mysql表數據導入到Hive表

$ sqoop import --connect jdbc:mysql://localhost:3306/ua1  --username root --password 123 --table EMP --fields-terminated-by '\t'  --num-mappers 1  --hive-database default --hive-import --hive-table hive_zhangsan

 

出現如下HiveConf報錯:

19/11/29 19:20:04 ERROR hive.HiveConfig: Could not load org.apache.hadoop.hive.conf.HiveConf. Make sure HIVE_CONF_DIR is set correctly.
19/11/29 19:20:04 ERROR tool.ImportTool: Import failed: java.io.IOException: java.lang.ClassNotFoundException: org.apache.hadoop.hive.conf.HiveConf

 

解決辦法:

複製hive-common-2.3.6.jar到sqoop/lib目錄下

$ cp $HIVE_HOME/lib/hive-common-2.3.6.jar $SQOOP_HOME/lib

 

 

再次執行sqoop import導入語句,報錯變化爲:

Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class org.apache.derby.jdbc.AutoloadedDriver40

 

解決辦法:複製derby jar包到sqoop的lib目錄下

$ cp $HIVE_HOME/lib/derby-10.10.2.0.jar $SQOOP_HOME/lib

 

再次執行sqoop import導入語句,成功!

 

完成!enjoy it!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章