- 需求:
将 RDBMS(关系型数据库) 中的数据抽取到 HBase 中 。
- 修改/usr/local/module/sqoop-1.4.6.bin__hadoop-2.0.4-alpha/conf/目录下配置 文件sqoop-env.sh
- 在 Mysql 中新建一个数据库 db_library,一张表 book
- 向表中插入一些数据
- 执行 Sqoop 导入数据的操作
1
2
3
4
5
6
7
8
9
10
11
12
13 1bin/sqoop import \
2--connect jdbc:mysql://hadoop111:3306/db_library \
3--username root \
4--password 897570 \
5--table book \
6--columns "id,name,price" \
7--column-family "info" \
8--hbase-create-table \
9--hbase-row-key "id" \
10--hbase-table "hbase_book" \
11--num-mappers 1 \
12--split-by id
13
–num-mappers 1 \ 表示1个mapper
–split-by id 表示按照ID分割,一个id一条数据
出错:
- 原因以及解决办法
原因::sqoop1.4.6 只支持 HBase1.0.1 之前的版本的自动创建 HBase 表的功能 。
解决方案:手动创建 HBase 表
- 再次执行