Sqoop 操作 HBase第2关:Sqoop 在HBase中导出

#启动服务(第一关启动了第二关可以不用启动)
sh /data/workspace/myshixun/service.sh
hbase shell

create 'book','info'
put 'book',1,'info:id',01
put 'book',1,'info:name','Hamlet'
put 'book',1,'info:author','William Shakespeare'
put 'book',1,'info:price',32
put 'book',2,'info:id',02
put 'book',2,'info:name','nahan'
put 'book',2,'info:author','luxun'
put 'book',2,'info:price',27
 
exit
 
hive
 
create database test;

CREATE EXTERNAL TABLE test.h_book (key int,id int,name string,author string,price int)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES (
"hbase.columns.mapping" =
":key,info:id, info:name,info:author,info:price"
)
TBLPROPERTIES( "hbase.table.name" = "book",
"hbase.mapred.output.outputtable" = "book");
 
CREATE TABLE test.book(key int,id int,name string,author string,price int)row format delimited fields terminated by ',' stored as textfile;
 
insert overwrite table test.book select * from test.h_book;
 
exit;
 
mysql -uroot -p123123
 
create database test;
 
create table test.book(rowkey int(11),id int(11),name varchar(20),author varchar(20),price int(11),primary key (id));
 
exit
 
sqoop export -connect jdbc:mysql://127.0.0.1:3306/test -username root -password 123123 -table book --fields-terminated-by ',' --export-dir /opt/hive/warehouse/test.db/book

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Sqoop 是一个用于在 Hadoop 生态系统导入和导出数据的工具。在本,我们将学习如何使用 Sqoop 将数据从系型数据库导入到 HBase 。 首先,我们需要确保已经在 Hadoop 集群安装了 SqoopHBase。然后,我们需要创建一个目标表来存储从系型数据库导入的数据。 在 HBase 创建表: ``` create 'employees', 'personal', 'professional' ``` 现在,我们可以使用 Sqoop 将数据从系型数据库导入到 HBase 。假设我们要从 MySQL 数据库导入一个名为 employees 的表,该表包含以下列和数据: | id | name | age | salary | |----|------|-----|--------| | 1 | John | 25 | 50000 | | 2 | Mary | 30 | 60000 | | 3 | Jack | 40 | 70000 | 我们可以使用以下命令将该表导入到 HBase : ``` sqoop import --connect jdbc:mysql://localhost/employees --username root --password password --table employees --hbase-table employees --column-family personal --hbase-row-key id --hbase-create-table ``` 该命令将从 MySQL 数据库选择所有列,并将它们插入到 HBase。我们指定了 HBase 表的名称和列族名称,以及用于 HBase 行键的列。 如果 HBase 表不存在,Sqoop 将自动创建它。我们还指定了一个选项 hbase-create-table,以确保表已经存在,如果表不存在则会创建。如果不使用此选项,则需要手动创建 HBase 表。 我们可以使用以下命令查看导入的数据: ``` hbase shell scan 'employees' ``` 输出应如下所示: ``` ROW COLUMN+CELL 1 column=personal:age, timestamp=1576289403403, value=25 1 column=personal:name, timestamp=1576289403403, value=John 1 column=personal:salary, timestamp=1576289403403, value=50000 2 column=personal:age, timestamp=1576289403403, value=30 2 column=personal:name, timestamp=1576289403403, value=Mary 2 column=personal:salary, timestamp=1576289403403, value=60000 3 column=personal:age, timestamp=1576289403403, value=40 3 column=personal:name, timestamp=1576289403403, value=Jack 3 column=personal:salary, timestamp=1576289403403, value=70000 ``` 我们可以看到,导入的数据已经存储在 HBase。现在,我们可以在 Hadoop 生态系统使用这些数据进行分析和处理。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值