微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Hive集成Hbase

Hive 集成 Hbase

1. 使用 HQL 语句创建一个指向 HBase 的 Hive 表

-- 尝试以下,所以全部为string类型
CREATE TABLE hbase_table(key string,name string,gender string,age string)
-- 指定存储处理器
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
-- 声明HBase中对应的表的列簇及列名
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,base:name,base:gender,base:age")
-- hbase.table.name声明HBase表名,为可选属性认与Hive中的表名相同
-- hbase.mapred.output.outputtable指定插入数据时写入的表,如果以后需要往该表插入数
TBLPROPERTIES ("hbase.table.name" = "mystudent", "hbase.mapred.output.outputtable" = "mystudent");

2. 使用 Hive 中创建一个指向已经存在的 HBase 表的 Hive 表

-- 由于数据存储在Hbase中,所以是external表,并指定在创建的Hive表名
CREATE EXTERNAL TABLE hbase_table_2(key string, name string,gender string ,age string)
-- 指定存储处理器
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
-- Hive和HBase之间的映射关系
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key ,base:name,base:gender,base:age")
-- 指定已存在的Hbase表
TBLPROPERTIES("hbase.table.name" = "student", "hbase.mapred.output.outputtable" = "student");

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐