Sqoop快速掌握

Sqoop作用

Sqoop就是一个小工具,用于将RDBMSHadoopHDFSHBaseHive)之间数据互导,执行命令行就可以实现其功能。

Sqoop原理

Sqoop原理是将导入或导出命令翻译成mapreduce程序来实现。

Sqoop使用

1.导入数据

“导入”概念指:从非大数据集群(RDBMS)向大数据集群(HDFSHIVEHBASE)中传输数据,叫做:导入,即使用import关键字。

1.1 从RDBMS到HDFS

$ bin/sqoop import \
--connect jdbc:mysql://hadoop102:3306/company \
--username root \
--password 000000 \
--table staff \
--target-dir /user/company \
--delete-target-dir \
--num-mappers 1 \
--fields-terminated-by "\t" (保存到HDFS上的字段间使用\t分隔)

将mysql的staff表全部导入到HDFS的/user/company目录,字段间使用\t分隔。

还可以where条件筛选导入、导入指定列。

1.2 从RDBMS到Hive

$ bin/sqoop import \
--connect jdbc:mysql://hadoop102:3306/company \
--username root \
--password 000000 \
--table staff \
--num-mappers 1 \
--hive-import \
--fields-terminated-by "\t" \
--hive-overwrite \
--hive-table staff_hive

将mysql的staff表导入到Hive的staff_hive表,这里不需要手动创建hive表。

1.3 从RDBMS到HBase

$ bin/sqoop import \
--connect jdbc:mysql://hadoop102:3306/company \
--username root \
--password 000000 \
--table staff \
--columns "id,name,sex" \
--column-family "info" \
--hbase-create-table \
--hbase-row-key "id" \
--hbase-table "hbase_company" \
--num-mappers 1 \
--split-by id

问题:如果HBaserowkey比较复杂,通过命令行很难拼装好,该如何实现导入呢?

https://blog.csdn.net/jsky_studio/article/details/50626056利用sqoopmysqlhbase导数据(拼接mysql多字段做为hbase rowkey)

这篇文章提供了一个思路,创建一个临时的mysql表,除原表字段外新增一个hbase_rowkey字段,利用SQL拼装好这个字段,然后将这个临时mysql表导入HBase

2.导出数据

导出数据与导入数据相反,表示从Hadoop中导出到RDBMS。

2.1 从Hive/HDFS到RDBMS

$ bin/sqoop export \
--connect jdbc:mysql://hadoop102:3306/company \
--username root \
--password 000000 \
--table staff \
--num-mappers 1 \
--export-dir /user/hive/warehouse/staff_hive \
--input-fields-terminated-by "\t"

从/user/hive/warehouse/staff_hive导出数据到mysql的staff表中。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值