Sqoop工具利用(导入导出数据)

查看数据库列表

[root@test200 ~]# sqoop list-databases \
--connect jdbc:mysql://192.168.48.141:3306/ \
--username root \
--password cjh123

进mysql容器查看

docker exec -it mysql bash
mysql -uroot -pcjh123

docker cp ./retail_db.sql mysql:/home/
source /home/retail_db.sql

导入到HDFS

[root@test200 ~]# sqoop import \
--connect jdbc:mysql://192.168.48.141:3306/retail_db \
--username root \
--password cjh123 \
--driver com.mysql.jdbc.Driver \
--table customers \
--target-dir /data/customers

导入到HDFS加条件

# target-dir:创建指定目录
[root@test200 ~]# sqoop import \
--connect jdbc:mysql://192.168.48.141:3306/retail_db \
--username root \
--password cjh123 \
--driver com.mysql.jdbc.Driver \
--table customers \
--target-dir /data/customers

# 下面加了 m 是分片数量
[root@test200 ~]# sqoop import \
--connect jdbc:mysql://192.168.48.141:3306/retail_db \
--username root \
--password cjh123 \
--driver com.mysql.jdbc.Driver \
--table orders \
--where "order_id< 50" \
--target-dir /data/orders1 \
--m 1

# delete-target-dir:删除指定目录
[root@test200 ~]# sqoop import \
--connect jdbc:mysql://192.168.48.141:3306/retail_db \
--username root \
--password cjh123 \
--driver com.mysql.jdbc.Driver \
--table orders \
--where "order_id< 150" \
--delete-target-dir \
--target-dir /data/orders1 \
--m 1

使用query方式导入数据到HDFS

[root@cjh1 ~]# sqoop import \
--connect jdbc:mysql://192.168.48.141:3306/retail_db \
--username root \
--password cjh123 \
--driver com.mysql.jdbc.Driver \
--query "select * from orders where order_status='CLOSED' and \$CONDITIONS" \
--split-by order_status \
--delete-target-dir \
--target-dir /data/orders2 \
--m 3
# 通过指定列:columns 
[root@cjh1 ~]# sqoop import \
--connect jdbc:mysql://192.168.48.141:3306/retail_db \
--username root \
--password cjh123 \
--driver com.mysql.jdbc.Driver \
--table orders \
--columns "order_id,order_date,order_customer_id" \
--delete-target-dir \
--target-dir /data/orders3 \
--m 1

导入数据到Hive

[root@cjh1 ~]# sqoop import \
--connect jdbc:mysql://192.168.48.141:3306/retail_db \
--username root \
--password cjh123 \
--driver com.mysql.jdbc.Driver \
--table orders \
--hive-import \
--delete-target-dir \
--hive-database retail_db \
--create-hive-table \
--hive-table orders \
--m 1

导入数据到hbase

[root@cjh1 ~]# sqoop import \
--connect jdbc:mysql://192.168.48.141:3306/retail_db \
--username root \
--password cjh123 \
--driver com.mysql.jdbc.Driver \
--table products \
--columns "product_id,product_name,product_description" \
--hbase-create-table \
--hbase-table products \
--column-family data \
--hbase-row-key product_id \
--m 3

将hdfs文件系统的数据导出到mysql表中

先创建指定表

CREATE TABLE `orders_tmp`(
`order_id` int(11) NOT NULL AUTO_INCREMENT,
`order_date` datetime NOT NULL,
`order_customer_id` INT(11),
`order_status` varchar(45), 
PRIMARY KEY(`order_id`)
);

执行导入的命令

[root@cjh1 ~]# sqoop export \
--connect jdbc:mysql://192.168.48.141:3306/retail_db \
--username root \
--password cjh123 \
--driver com.mysql.jdbc.Driver \
--table orders_tmp \
--export-dir /data/orders1 \
--m 1

ps:望多多支持,后续更新中。。。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值