简单的操作
hbase中建表并注入数据
创建一个test的表
create 'test', {NAME=>'f1'}
插入数据
put 'test', 'a001', 'f1:uid', '001'
扫描test
scan 'test'
查看结构
describe 'test'
修改表
解锁表
disable 'test'
修改
alter 'test', NAME=>'f1', VERSION=>3
锁定表
enable 'test'
再次查看表
describe 'test'
清空表
truncate 'test'
扫描二维码关注公众号,回复:
1441453 查看本文章
再次扫描表
scan 'test'
删除表
解锁表
disable 'test'
删除表
drop 'test'
list查看,就已经没有’test’这个表了
list
sqoop从hive导入数据到hbase
在hive新建一张表
首先是操作过sogou数据了的,我需要导入的数据是基于之前操作的sogou的数据的
在hive中连接sogou数据库(之前创建的,翻之前的博客)
use sogou
在hive的sogou数据库下新建表
CREATE TABLE sogou.uid_cnt(
uid STRING,
cnt INT)
COMMENT 'This is the sogou search data of one day'
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
STORED AS TEXTFILE;
查询并插入
INSERT OVERWRITE TABLE sogou.uid_cnt SELECT uid,count(*) as cnt from sogou.sogou_ext_20111230 group by uid;
使用 Sqoop 将数据导入 MySQL
mysql中新建数据库并连接
CREATE DATABASE my_test;
use my_test
mysql my_test中创建一个表uid_cnt
CREATE TABLE uid_cnt(
uid varchar(255) DEFAULT NULL,
cnt int(11) DEFAULT NULL
)DEFAULT CHARSET=utf8;
设置mysql的访问权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
FLUSH PRIVILEGES;
进入sqoop安装目录开始导入数据
bin/sqoop export --connect jdbc:mysql://master:3306/my_test --username root -password 123456 --table uid_cnt --export-dir '/user/hive/warehouse/sogou.db/uid_cnt' --fields-terminated-by '\t'
查看mysql中之前创建的表的内容
select * from uid_cnt
hbase新建表
create 'uid_cnt', {NAME=>'f1', VERSON=>5}
使用 Sqoop 从mysql将数据导入 HBase
输入以下代码
bin/sqoop import --connect jdbc:mysql://master:3306/my_test --username root --password 123456 --table uid_cnt --hbase-table uid_cnt --column-family f1 --hbase-row-key uid --hbase-create-table -m 1
查看数据
scan 'uid_cnt'
这是通过mysql中转实现数据传递的