将数据从hbase导入到hive

文章目录

    • 一、选定hbase上的一个表
    • 二、在hive上创建映射表
    • 三、查看结果

一、选定hbase上的一个表

选定test0721表

hbase(main):001:0> list
TABLE
SYSTEM.CATALOG
SYSTEM.FUNCTION
SYSTEM.LOG
SYSTEM.MUTEX
SYSTEM.SEQUENCE
SYSTEM.STATS
test0721
7 row(s) in 0.1500 seconds

=> ["SYSTEM.CATALOG", "SYSTEM.FUNCTION", "SYSTEM.LOG", "SYSTEM.MUTEX", "SYSTEM.SEQUENCE", "SYSTEM.STATS", "test0721"]
hbase(main):002:0> scan 'test0721'
ROW                   COLUMN+CELL
 0001                 column=info:age, timestamp=1595342472810, value=30
 0001                 column=info:name, timestamp=1595342436441, value=zhangsan
 0001                 column=info:sex, timestamp=1595342481869, value=male
 0001                 column=like:food, timestamp=1595342451656, value=apple
 0001                 column=like:sport, timestamp=1595342461471, value=running
1 row(s) in 0.1410 seconds

hbase(main):003:0>

二、在hive上创建映射表

create EXTERNAL table hbase_test0721_2(       //必须是外部表,否则会报错
Row_key String,                               //第一个字段随便取个名字,理解为主键
age String,                                   //以下字段需要与hbase中的表字段顺序相对应
name String,
sex String,
food String,
sport String
)
stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'//固定写法
with serdeproperties("hbase.columns.mapping"=":key,info:age,info:name,info:sex,like:food,like:sport") //写好hbase表中对应的列簇:列名即可
tblproperties("hbase.table.name"="test0721");  //hbase中对应的表名

三、查看结果

将数据从hbase导入到hive_第1张图片

你可能感兴趣的:(hbase,hadoop,大数据,impala,sqoop)