目录
- 目录
- 简单的操作
- hbase中建表并注入数据
- 扫描test
- 查看结构
- 修改表
- 再次查看表
- 清空表
- 再次扫描表
- 删除表
- sqoop从hive导入数据到hbase
- 在hive新建一张表
- 在hive中连接sogou数据库(之前创建的,翻之前的博客)
- 在hive的sogou数据库下新建表
- 查询并插入
- 使用 Sqoop 将数据导入 MySQL
- mysql中新建数据库并连接
- mysql my_test中创建一个表uid_cnt
- 设置mysql的访问权限
- 进入sqoop安装目录开始导入数据
- 查看mysql中之前创建的表的内容
- hbase新建表
- 使用 Sqoop 从mysql将数据导入 HBase
- 查看数据
简单的操作
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'
再次扫描表
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中转实现数据传递的