Sqoop批量把MySQL数据导入到HBase

一、简介

只是为了方便

二、Sqoop安装

https://blog.youkuaiyun.com/u011374856/article/details/

三、MySQL单表导入HBase

1、新建脚本

vi mysql_hbase.sh

2、编辑脚本,两个参数,第一个HBase表名称前缀(方便批量删除),第二个MySQL表名称

$SQOOP_HOME/bin/sqoop import \
--connect jdbc:mysql://127.0.0.1:3306/test \
--driver com.mysql.cj.jdbc.Driver \
--username root \
--password 123456 \
--table $2 \
--hbase-table $1_$2 \
--column-family info \
--hbase-create-table \
--hbase-row-key id \
--hbase-bulkload

3、修改权限

chmod 777 mysql_hbase.sh

4、执行脚本验证

例如:把MySQL中 test 表导入到 HBase,HBase表名称为woniu_test

./mysql_hbase.sh woniu test

5、自己去HBase中验证结果

四、HBase批量删除表

1、新建脚本

vi hbase_drop_table.sh

2、编辑脚本,一个参数,批量删除HBase表名称前缀

#删除表临时文件目录
FILE_NAME="/woniu/shell/drop_table_tmp.txt"

#删除临时文件
rm -rf $FILE_NAME

echo $1

#写数据
#禁用表
echo disable_all  "'"$1".*'" >> $FILE_NAME
#删除表
echo drop_all "'"$1".*'" >> $FILE_NAME
#退出
echo exit >> $FILE_NAME

#进入HBase的bin目录
cd $HBASE_HOME/bin

#开启HBase的shell
./hbase shell $FILE_NAME

3、修改权限

chmod 777 hbase_drop_table.sh

4、执行脚本

例如:把HBase表名称前缀为woniu的批量删除

./hbase_drop_table.sh woniu

5、自己去HBase中验证结果

五、生成批量导入脚本

1、通过Navicat连接MySQL数据库

2、查询所有表名称

select CONCAT('./mysql_hbase.sh ','woniu ',table_name) shell from information_schema.tables where table_schema='test'

3、查询结果导出为mysql_hbase_batch.txt文本,注意:不要列的标题

4、把mysql_hbase_batch.txt文本中所有双引号替换为空

5、新建脚本

vi mysql_hbase_batch.sh

6、把mysql_hbase_batch.txt 全部复制到 mysql_hbase_batch.sh

7、修改权限

chmod 777 mysql_hbase_batch.sh

8、执行批量导入,注意:如果重新导入,先执行批量删除

./mysql_hbase_batch.sh

六、HBase验证结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值