mysql数据导入到hbase

本文隶属于分类

数据库

广告推荐

技术交流学习或者有任何问题欢迎加群

编程技术交流群 : 154514123 爱上编程      Java技术交流群 : 6128790  Java

标签:form   code   row   end   语句   写入   div   cat   一个数据库   

思路:读取到一个数据库里所有的表名,然后通过sqoop循环导入到hbase
实现过程中发现 不会写shell是个硬伤
最后只能分两步进行操作
1.sel_tabs.sh
/usr/bin/mysql -hIp地址 -u用户名 -p密码 -D数据库名<<EOF
use 
select table_name from information_schema.tables where table_schema=数据库名 and table_type=base table;
EOF

运行 bash sel_tabs.sh>tbsnam.dat

将结果写入tbsname.dat

2.readdat.sh

#!/bin/sh    
cat tbsnam.dat |while read LINE
do
	echo $LINE
	if [ "$LINE" = "table_name" ]; then
			echo "table_name test"		
	else
			echo $LINE
			str="/opt/dtma/sqoop/bin/sqoop import --connect jdbc:mysql://Ip地址:端口号/数据库名称 --username ‘用户名‘ --password ‘密码‘ --table AA --hbase-table AA --column-family f1 --hbase-row-key  id --hbase-create-table --m 1 --incremental append --check-column ‘id‘ --last-value 0"
            		strend=${str//"AA"/$LINE}
			echo $strend 
            $strend
        fi
done

str是sqoop 增量导入单个表的 语句

上面sql语句查询结果 第一行出现 table_name,所以把table_name 剔除掉

最后运行

bash readdat.sh

 

mysql数据导入到hbase

标签:form   code   row   end   语句   写入   div   cat   一个数据库   

原文:http://www.cnblogs.com/zy900406/p/6233769.html

技术交流学习或者有任何问题欢迎加群

编程技术交流群 : 154514123 爱上编程      Java技术交流群 : 6128790  Java

广告推荐

讨论区