当前位置:   article > 正文

Sqoop各种执行命令总结(详细!可直接用!)_sqoop target-dir

sqoop target-dir

闲话少叙,直接上命令:
一、将Mysql表数据导入hdfs(可加过滤条件)

./sqoop import --connect jdbc:mysql://**Mysql安装的主机IP(或映射)**:3306/数据库名 --username 用户名 --password 密码 --table 表名 --target-dir 存储在hdfs上的表名 --delete-target-dir --m 1
  • 1

–m 指定map个数,默认是4 --columns 可用来指定列
–target-dir 指定存储在hdfs上的表名,具体参数请参考:
https://blog.csdn.net/Forever_ck/article/details/84962016
二、将hdfs数据导入到Mysql:(Mysql中需要手动创建表)

./sqoop export --connect jdbc:mysql://**Mysql安装的主机IP(或映射)**:3306/数据库名--username 用户名 --password 密码 --table 表名 --m 1 --export-dir hdfs上的文件路径
  • 1

三、将Mysql表数据导入到Hive:

./sqoop import --connect jdbc:mysql://**Mysql安装的主机IP(或映射)**:3306/数据库名 --username 用户名 --password 密码 --table 表名 --hive-import --fields-terminated-by "指定分隔符" --hive-overwrite --hive-table hive中的表名 --m 1
  • 1

(小提示:如果上面命令省略 --m参数,有可能报如下错误)
ERROR tool.ImportTool: Error during import: No primary key could be found for table student. Please specify one with --split-by or perform a sequential import with ‘-m 1’.
四、将Hive数据导入Mysql:(因为hive真实数据也是存储在hdfs上,所以和hdfs到mysql类似)

./sqoop export --connect jdbc:mysql://**Mysql安装的主机IP(或映射)**:3306/数据库名--username 用户名 --password 密码 --table 表名 --m 1 --export-dir hdfs上hive表的文件路径 --input-fields-terminated-by "指定分隔符"
  • 1

注意:hive中的表往往会指定分隔符,所以这里要指定分隔符,否则,可能会报数据识别失败异常!

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号