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

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

./sqoop import --connect jdbc:mysql://**Mysql安装的主机IP(或映射)**:3306/数据库名 --username 用户名 --password 密码 --table 表名 --target-dir 存储在hdfs上的表名 --delete-target-dir --m 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上的文件路径

三、将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

(小提示:如果上面命令省略 --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 "指定分隔符"

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

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Sqoop是一个命令行工具,可以使用各种命令和选项来执行不同的操作。以下是Sqoop中常用的一些命令: 1. import:从关系型数据库中导入数据到Hadoop中。 ``` sqoop import \ --connect jdbc:mysql://localhost/testdb \ --username root \ --password password \ --table employees \ --target-dir /user/hadoop/employees \ --split-by id ``` 2. export:将Hadoop中的数据导出到关系型数据库中。 ``` sqoop export \ --connect jdbc:mysql://localhost/testdb \ --username root \ --password password \ --table employees \ --export-dir /user/hadoop/employees \ --input-fields-terminated-by '\t' ``` 3. list-databases:列出数据库中的所有数据库。 ``` sqoop list-databases \ --connect jdbc:mysql://localhost/ \ --username root \ --password password ``` 4. list-tables:列出数据库中的所有表。 ``` sqoop list-tables \ --connect jdbc:mysql://localhost/testdb \ --username root \ --password password ``` 5. eval:在关系型数据库中执行SQL查询。 ``` sqoop eval \ --connect jdbc:mysql://localhost/testdb \ --username root \ --password password \ --query "SELECT * FROM employees WHERE salary > 50000" ``` 6. help:显示Sqoop命令的帮助信息。 ``` sqoop help ``` 这些命令只是Sqoop提供的众多命令中的一部分,您还可以使用其他命令和选项来执行不同的操作。Sqoop的命令行界面提供了灵活的参数配置和数据转换选项,可以帮助您轻松地将关系型数据库中的数据导入到Hadoop中,以便进行后续的数据分析和处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值