Hive基于Hbase的外部表使用

随声附和 提交于 2019-11-29 06:29:32

官网:https://cwiki.apache.org/confluence/display/Hive/HBaseIntegration

作用

Hive直接使用Hbase的数据,不过hbase一般不适合分析数据,一般使用外部表将hbase数据导入其它hive表,用于数据分析

步骤

一、下载依赖jar
https://mvnrepository.com/artifact/org.apache.hive/hive-hbase-handler下载自己对应版本,版本号和hbase版本保持一致。
将jar加入hive的lib中,如果是使用的CDH一般已经配置好依赖,可直接创建表

二、创建外部表

CREATE EXTERNAL TABLE hbase_external_db.test(
  key string,
 `id_card` varchar(100) comment '身份证号',
 `mobile` varchar(100) comment '手机号码',
) comment 'xxx'
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = "history:id_card,history:mobile")
TBLPROPERTIES("hbase.table.name" = "hbase_test");

解释
1.key 会默认对应hbase中的rowkey
2.hbase.columns.mapping按顺序配置除key外,对应的列映射(列族:列)

如果hive和hbase不在同一个集群,使用如下方式启动hive

hive   -hiveconf hbase.zookeeper.quorum=xxx,xxx,xxx
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!