hive创建hbase外部关联表实例

在cdh6.3.2已经做好hbase和hive相关配置,这里不阐述。

要创建上述的表结构,你需要先在HBase中创建相应的表,然后在Hive中创建一个EXTERNAL TABLE来映射到这个HBase表。以下是详细的步骤:

步骤1:在HBase中创建表

  1. 确定HBase的安装和配置是否正确。
  2. 确定HBase的shell工具能够正常使用。

打开HBase shell:

复制代码
hbase shell

在HBase shell中,创建一个表analysis_minute和一个列族bls

复制代码
create 'analysis_minute', 'bls'

退出HBase shell:

复制代码
quit

步骤2:在Hive中创建EXTERNAL TABLE

  1. 确保Hive安装和配置正确。
  2. 确保HBaseStorageHandler已经包含在Hive的配置中。

使用Hive的命令行界面或者你的IDE来执行下面的SQL语句:

复制代码
CREATE EXTERNAL TABLE analysis_minute_hbase (
  key STRING,
  pid STRING,
  time STRING,
  val STRING
)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES (
  'hbase.columns.mapping' = ':key,bls:pid,bls:time,bls:val',
  'serialization.format' = '1'
)
TBLPROPERTIES (
  'hbase.table.name' = 'analysis_minute',
  'last_modified_by' = 'hdfs',
  'last_modified_time' = '1713990161',
  'numFiles' = '0',
  'numFilesErasureCoded' = '0',
  'numRows' = '0',
  'rawDataSize' = '0',
  'storage_handler' = 'org.apache.hadoop.hive.hbase.HBaseStorageHandler',
  'totalSize' = '0'
);

这段SQL语句做了以下几件事情:

  • 创建了一个EXTERNAL TABLE,意味着数据存储在HBase中,而不是Hive的数据仓库目录中。
  • 使用了HBaseStorageHandler来允许Hive与HBase交互。
  • 定义了四个字段,分别对应于HBase表中的列。
  • 通过WITH SERDEPROPERTIES定义了Hive字段到HBase列族的映射。
  • 通过TBLPROPERTIES定义了HBase表的名称和其他属性。

注意事项:

  • 确保HBase表analysis_minute和列族bls已经存在,Hive才能正确创建EXTERNAL TABLE。
  • 确认Hive配置文件中已经包含了HBaseStorageHandler的jar包。
  • 如果HBase表或列族名称与Hive表结构中的名称不匹配,Hive将无法找到对应的HBase表。
  • 在执行上述Hive SQL语句之前,你可能需要根据你的Hadoop和Hive版本调整配置参数。
相关推荐
张工在路上18 小时前
WPF 布局基础概述
大数据·hadoop·wpf
BYSJMG1 天前
计算机毕设选题|基于大数据与文本挖掘的自动驾驶事故成因分析及可视化研究|Hadoop+PySpark+Django+Vue
大数据·hadoop·信息可视化·django·自动驾驶·kmeans·课程设计
邀星月为媒2 天前
从零打造一个属于自己的 AI Agent:Core Hive Agent 开源项目解析
人工智能·hive·开源
BI专家之路2 天前
安装linux/hadoop/jdk/hive
linux·hive·hadoop
2601_962073974 天前
大数据-258 离线数仓 - Griffin架构 配置安装 Livy 架构设计 解压配置 Hadoop Hive
大数据·hadoop·架构
fastjson_4 天前
Hive 基础函数
数据仓库·hive·hadoop
kuroomi4 天前
hadoop高可用架构
hadoop
Highcharts.js5 天前
Highcharts 下钻(Drilldown)柱状图 Demo
数据库·信息可视化·hbase·highcharts·drilldown·js模块·下钻图表
千里码aicood5 天前
基于Hadoop的汽车销量分析与可视化
大数据·hadoop·分布式
wxchyy7 天前
手把手教你入门云计算(二):这些技术改变了世界,你也能轻松掌握
hadoop·阿里云·docker·云原生·华为云·云计算·运维开发