sqoop基本操作(附带命令详细讲解)(初学者)

sqoop操作

点这里sqoop安装配置教程

使用需要hadoop伪分布式、集群或者高可用,以及hive

点这里hadoop伪分布式配置教学

我测试的数据库为bigdata 表为goods

 

1.连接数据库

命令:

sqoop-list-tables --connect jdbc:mysql://localhost:3306/bigdata --username root --password 123456

--connect jdbc:mysql://localhost:3306/bigdata :数据库位置,localhost也可以是虚拟机ip地址

  1. --username root:账号

  2. --password 12345:密码

2.将数据库表存入hadoop

命令:

sqoop import --connect jdbc:mysql://localhost:3306/bigdata --username root --password 123456 --delete-target-dir --target-dir daoua --table goods --where "id > 3" --m 1 --fields-terminated-by '/' --driver com.mysql.jdbc.Driver

 --connect jdbc:mysql://localhost:3306/bigdata :数据库位置,localhost也可以是虚拟机ip地址

  1. --username root:账号

  2. --password 12345:密码

  3. --delete-target-dir:如果目录存在删除

  4. --target-dir daout:数据库表要存的hadoop位置

  5. --table goods:表名

  6. --where "id > 3":筛选id>3的数据存入

  7. --fields-terminated-by '/':指定数据分割符

  8. --m 1:设置文件数量为1,否则一条记录会形成一个文件

  9. --driver com.mysql.jdbc.Driver:mysql驱动包过低不加此会报错

3.将mysql数据库表增量追加存入hadoop

sqoop import --connect jdbc:mysql://192.168.88.100:3306/bigdata_db --username root --password 123456 --m 1 --table tb_goods --target-dir /user/increase --incremental append --check-column id --last-value 2  --driver com.mysql.jdbc.Driver
  1. --incremental append:增量追加

  2. --check-column id:以表中id增量追加

  3. --last-value 2:从第二个后开始追加

4.hadoop存入mysql数据库表

sqoop export --connect jdbc:mysql://192.168.88.100:3306/bigdata?useUnicode=true\&characterEncoding=utf-8 --username root --password 123456 --table goods --export-dir /user/increase --fields-terminated-by ',' --m 2 --driver com.mysql.jdbc.Driver
  1. useUnicode=true\&characterEncoding=utf-8:指定编码格式

  2. --export-dir /user/increase:数据存在的hdfs位置

  3. --fields-terminated-by ',':数据的分隔符,查看用 hdfs dfs -cat 文件路径

  4. 注意:mysql的数据库清空。

5.mysql数据库表存入hive表

sqoop import --m 1 --hive-import --connect jdbc:mysql://localhost:3306/bigdata?useUnicode=true\&characterEncoding=utf-8 --username root --password 123456 --table goods --fields-terminated-by '\t' --driver com.mysql.jdbc.Driver --hive-database test6 --hive-table goods;
  1. --hive-database adds:存入的数据库

  2. --hive-table goods: 存入的表,此表自动创建

6.hive表存入mysql数据库表

sqoop export --connect jdbc:mysql://localhost:3306/bigdata?useUnicode=true\&characterEncoding=utf-8 --username root --password 123456 --table goods --num-mappers 1 --export-dir /user/hive/warehouse/test6.db/goods/part-m-00000 --input-fields-terminated-by '\t';

--export-dir /user/hive/warehouse/test6.db/goods/part-m-00000:hadoop中表的路径

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值