Sqoop shell之 My SQL

1、查看mysql中所有的數據庫

sqoop list-databases --connect jdbc:mysql://192.168.80.1/ --username root --password XXX

2、查看mysql中數據庫中的表

sqoop list-tables --connect jdbc:mysql://192.168.80.1/test --username root --password XXX

3、導入MySQL數據到HDFS中

  1)、 sqoop import --connect jdbc:mysql://192.168.80.1:3306/test  --username root --password 123456 --table t1 --target-dir /user/sqoop --fields-terminated-by ',' -m 1

 注意:

--target-dir 必須是不存在的路徑,網上有方案說,支持--delete-target-dir,但是本人使用sqoop 1.4.7,加上這個參數,報錯。

-m 1 如果源表沒有主鍵,必須帶上-m 1

如果有主鍵,這麼導入報錯。

有主鍵的表的shell命令爲:

sqoop import -Dorg.apache.sqoop.splitter.allow_text_splitter=true  --connect jdbc:mysql://192.168.80.1:3306/test --username root --password 123456 --table mtcars --target-dir /user/sqoop/sqooptest3 --fields-terminated-by ','

2)、sqoop import --connect jdbc:mysql://192.168.80.1:3306/test  --username root --password 123456 --table t1 --target-dir /user/sqoop --fields-terminated-by ',' -m 1 --direct

備註:官網有說加上--direct會快速些,但是加上回報錯,Cannot run program "mysqldump"。

  網上找的方案:

​1. 在安裝了mysql的節點A中使用ROOT用戶查找mysqldump在哪個目錄下

     find / -name mysqldump​

2. 將查找到的路徑下複雜mysqldump至數據節點B、C、D中

 說明這兩種導入hdfs底層實現不同。

 

4、導入My SQL表數據到Hive中

    沒有主鍵表的導入

  1)、sqoop import --connect jdbc:mysql://192.168.80.1:3306/test --username root --password XXX --table stest --fields-terminated-by "\t" --lines-terminated-by "\n" --hive-import --hive-overwrite --create-hive-table --hive-table myhive.stest2 --delete-target-dir -m 1

備註:開始莫名各種錯誤,什麼HiveConf.class 找不到,什麼ERROR bonecp.BoneCP: Unable to start/stop JMX,最後看方案,將hive-site.xml 複製到sqoop/conf目錄下,還是不行,最後莫名有成功了,hive中,能查看到表,但是成功執行的過程,已然報錯:ERROR bonecp.BoneCP: Unable to start/stop JMX

java.security.AccessControlException: access denied ("javax.management.MBeanTrustPermission" "register")

找不到原因。

有主鍵表的導入

sqoop import -Dorg.apache.sqoop.splitter.allow_text_splitter=true  --connect jdbc:mysql://192.168.80.1:3306/test --username root --password XXX --table mtcars --fields-terminated-by "\t" --lines-terminated-by "\n" --hive-import --hive-overwrite --create-hive-table --hive-table myhive.mtcars --delete-target-dir

 

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