目录


  • 目录
  • 简单的操作
  • 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'

hive 转换为hbase hive表数据导入hbase_HBASE

扫描test

scan 'test'

hive 转换为hbase hive表数据导入hbase_HBASE_02

查看结构

describe 'test'

hive 转换为hbase hive表数据导入hbase_HBASE_03

修改表

解锁表

disable 'test'

修改

alter 'test', NAME=>'f1', VERSION=>3

锁定表

enable 'test'

hive 转换为hbase hive表数据导入hbase_HBASE_04

再次查看表

describe 'test'

hive 转换为hbase hive表数据导入hbase_mysql_05

清空表

truncate 'test'

hive 转换为hbase hive表数据导入hbase_HBASE_06

再次扫描表

scan 'test'

hive 转换为hbase hive表数据导入hbase_hive_07

删除表

解锁表

disable 'test'

删除表

drop 'test'

list查看,就已经没有’test’这个表了

list

hive 转换为hbase hive表数据导入hbase_sqoop_08

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;

hive 转换为hbase hive表数据导入hbase_hive_09

查询并插入

INSERT OVERWRITE TABLE sogou.uid_cnt SELECT uid,count(*) as cnt from sogou.sogou_ext_20111230 group by uid;

hive 转换为hbase hive表数据导入hbase_hive 转换为hbase_10

使用 Sqoop 将数据导入 MySQL

mysql中新建数据库并连接

CREATE DATABASE my_test;
use my_test

hive 转换为hbase hive表数据导入hbase_mysql_11

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'

hive 转换为hbase hive表数据导入hbase_hive_12

查看mysql中之前创建的表的内容

select * from uid_cnt

hive 转换为hbase hive表数据导入hbase_sqoop_13


hive 转换为hbase hive表数据导入hbase_hive_14

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

hive 转换为hbase hive表数据导入hbase_hive 转换为hbase_15


hive 转换为hbase hive表数据导入hbase_hive 转换为hbase_16

查看数据

scan 'uid_cnt'

hive 转换为hbase hive表数据导入hbase_HBASE_17

这是通过mysql中转实现数据传递的