使用sqoop从hive中导入数据到hbase

目录

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

使用sqoop从hive中导入数据到hbase_第1张图片

扫描test

scan 'test'

使用sqoop从hive中导入数据到hbase_第2张图片

查看结构

describe 'test'

使用sqoop从hive中导入数据到hbase_第3张图片

修改表

解锁表

disable 'test'

修改

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

锁定表

enable 'test'

使用sqoop从hive中导入数据到hbase_第4张图片

再次查看表

describe 'test'

使用sqoop从hive中导入数据到hbase_第5张图片

清空表

truncate 'test'

使用sqoop从hive中导入数据到hbase_第6张图片

再次扫描表

scan 'test'

这里写图片描述

删除表

解锁表

disable 'test'

删除表

drop 'test'

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

list

使用sqoop从hive中导入数据到hbase_第7张图片

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;

使用sqoop从hive中导入数据到hbase_第8张图片

查询并插入

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

使用sqoop从hive中导入数据到hbase_第9张图片

使用 Sqoop 将数据导入 MySQL

mysql中新建数据库并连接

CREATE DATABASE my_test;
use my_test

使用sqoop从hive中导入数据到hbase_第10张图片

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'

使用sqoop从hive中导入数据到hbase_第11张图片

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

select * from uid_cnt

使用sqoop从hive中导入数据到hbase_第12张图片
使用sqoop从hive中导入数据到hbase_第13张图片

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

使用sqoop从hive中导入数据到hbase_第14张图片
使用sqoop从hive中导入数据到hbase_第15张图片

查看数据

scan 'uid_cnt'

使用sqoop从hive中导入数据到hbase_第16张图片

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

你可能感兴趣的:(Experience,HADOOP基础,HBase,大数据生态)