Apache Sqoop 介绍及数据迁移

Sqoop是什么?
Sqoop是一个用于在Hadoop和关系数据库之间传输数据的工具
将数据从RDBMS导入到HDFS(HDFS、Hive、HBase),从HDFS导出数据到RDBMS,使用MapReduce导入和导出数据,提供并行操作和容错
目标用户:系统管理员、数据库管理员、大数据分析师、大数据开发工程师等

1、从mysql(关系型数据库)导入数据到HDFS-1
导入表到HDFS

[root@hadoop1 sqoop]# ./bin/sqoop-import \
--配置数据库连接为MySQL中数据库hive
> --connect jdbc:mysql://hadoop1:3306/retail \
--配置数据库中的表user
> --table user
--mysql的用户名
> --username root
--mysql的密码
> --password ok
--导入hdfs指定路径
> --tar-dir /data/user
--m表示Mapper数量,即储存到hdfs中的文件数量
> --m 3

增量导入

[root@hadoop1 sqoop]# ./bin/sqoop-import \
> --connect jdbc:mysql://hadoop1:3306/retail \
> --username root --password ok --table orders \
--关键字
> --incremental append \
--指定递增的列
> --check-cloumn order_id \
--指定上一次导入的最大值
> --last-value '100' \
> --target-dir /data/orders --m 3

2、从mysql(关系型数据库)导入数据到hive

[root@hadoop1 sqoop]# ./bin/sqoop-import \
> --connect jdbc:mysql://hadoop1:3306/retail \
> --username root --password ok --table orders \
--关键字
> --hive-import \
--指定hive里sqoop库中的orders表,无需在hive创建orders表,自动创建
> --hive-table sqoop.orders 

也可以

[root@hadoop1 sqoop]# ./bin/sqoop-import \
> --connect jdbc:mysql://hadoop1:3306/retail \
> --username root -password ok --table orders \
> --hive-import --create-hive-table \
> --hive-database sqoop --hive-table orders

导入到hive分区

[root@hadoop1 sqoop]# ./bin/sqoop-import \
> --connect jdbc:mysql://hadoop1:3306/retail \
> --username root -password ok --table orders \
> --hive-import --hive-table sqoop.orders \
> --hive-partition-key 'order_date' \
> --hive-partition-value '2020-10-12' \
> --m 3

也可以

[root@hadoop1 sqoop]# ./bin/sqoop-import \
> --connect jdbc:mysql://hadoop1:3306/retail \
> --username root -password ok --table orders \
> --hive-import --create-hive-table \
> --hive-database sqoop --hive-table orders \
> --hive-partition-key 'order_date' \
> --hive-partition-value '2020-10-12' \
> --m 3

3、从mysql倒入数据到hbase

[root@hadoop1 sqoop]# ./bin/sqoop-import \
> --connect jdbc:mysql://hadoop1:3306/retail \
> --username root -password ok --table customers \
> --columns 'CustomerNum,CustomerName' \
> --hbase-table customers \
> --cloumn-family CustomerName \
> --hbase-row-key CustomerNum \
> --m 3

4、从hdfs导入数据到mysql
在mysql里先创建一个orders表,在执行hive语句

[root@hadoop1 sqoop]# ./bin/sqoop-export \
> --connect jdbc:mysql://hadoop1:3306/sqoop
> --username root --password ok --table orders \
> --export-dir /data/retail_db/orders
> --input-fields-terminated by ','
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值