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

 

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