HBase与Sqoop集成
案例:将RDBMS中的数据抽取到HBase中
Step1、配置sqoop-env.sh如下:
Step2、在Mysql中创建一张数据库library,一张表book
CREATE DATABASE library; CREATE TABLE book( id int(4) PRIMARY KEY NOT NULL AUTO_INCREMENT, name VARCHAR(255) NOT NULL, price VARCHAR(255) NOT NULL);
Step3、向表中插入一些数据
INSERT INTO book(name, price) VALUES('Lie Sporting', '30'); INSERT INTO book (name, price) VALUES('Pride & Prejudice', '70'); INSERT INTO book (name, price) VALUES('Fall of Giants', '50');
完成后如图:
Step4、执行Sqoop导入数据的操作
$ bin/sqoop import \ --connect jdbc:mysql://hadoop-senior01.itguigu.com:3306/db_library \ --username root \ --password 123456 \ --table book \ --columns "id,name,price" \ --column-family "info" \ --hbase-create-table \ --hbase-row-key "id" \ --hbase-table "hbase_book" \ --num-mappers 1 \ --split-by id
Step5、在HBase中scan这张表得到如下内容
(尖叫提示:在导入之前,HBase中的表如果不存在则会自动创建)