利用EMR Hive关联云HBase

本文涉及的产品
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
简介:

云HBase需要借助外部Hive对多表进行关联分析,后续云HBase将集成Spark,更加建议使用Spark分析HBase数据。本文简单介绍下如何利用EMR的Hive关联云HBase的表。

1. 环境准备

  • 购买按量计费的EMR集群,配置依据实际场景确定,注意要和EMR处在同一VPC下,建议不需开启高可用。
  • 由于云HBASE的HDFS端口默认是不开的,需要联系工作人员开通。
  • 将EMR所有节点的IP加入到云HBase白名单
  • 获取云HBase的zookeeper访问地址,可在云HBase控制台查看。

2. 修改配置

  • 进入hive配置目录/etc/ecm/hive-conf/
  • 修改hbase-site.xml,将hbase.zookeeper.quorum修改为云HBase的zookeeper访问连接

          <property>
               <name>hbase.zookeeper.quorum</name>
               <value>hb-bp1mhyea7754bpigt-001.hbase.rds.aliyuncs.com,hb-bp1mhyea7754bpigt-002.hbase.rds.aliyuncs.com,hb-bp1mhyea7754bpigt-003.hbase.rds.aliyuncs.com</value>
          </property>
    

3. Hive中创建云HBase表

如果HBase表不存在,可在Hive中直接创建云HBase关联表

  • 进入hive cli命令行
    image
  • 创建HBase表

    CREATE TABLE hive_hbase_table(key int, value string)

    STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
    WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:val")
    TBLPROPERTIES ("hbase.table.name" = "hive_hbase_table", "hbase.mapred.output.outputtable" = "hive_hbase_table");
  • Hive中向hbase插入数据

    insert into hive_hbase_table values(212,'bab');
    image

  • 查看云HBase表,hbase表已创建,数据也已写入
    image

image

  • 在HBase中写入数据,并在Hive中查看
    image

在Hive中查看:
image

  • Hive删除表,HBase表也删除
    image

查看hbase表,报错不存在表
image

如果HBase表已存在,可在Hive中HBase外表进行关联,外部表在删除时不影响HBase已创建表

  • 云hbase中创建hbase表,并put测试数据
    image
  • Hive中创建HBase外部关联表,并查看数据
    image
  • 删除Hive表不影响HBase已存在表
    image

image

4. 总结

Hive更多操作HBase步骤,可参考https://cwiki.apache.org/confluence/display/Hive/HBaseIntegration
如果使用ECS自建mr集群的Hive时,操作步骤跟EMR操作类似,需要注意的是自建Hive的hbase-site.xml部分配置项可能与云HBase不一致,简单来说网络和端口开放后,只保留hbase.zookeeper.quorum即可与云Hbase进行关联。

目录
相关文章
|
SQL 存储 分布式数据库
【通过Hive清洗、处理和计算原始数据,Hive清洗处理后的结果,将存入Hbase,海量数据随机查询场景从HBase查询数据 】
【通过Hive清洗、处理和计算原始数据,Hive清洗处理后的结果,将存入Hbase,海量数据随机查询场景从HBase查询数据 】
779 0
|
7月前
|
SQL 存储 分布式数据库
分布式存储数据恢复—hbase和hive数据库数据恢复案例
分布式存储数据恢复环境: 16台某品牌R730xd服务器节点,每台服务器节点上有数台虚拟机。 虚拟机上部署Hbase和Hive数据库。 分布式存储故障: 数据库底层文件被误删除,数据库不能使用。要求恢复hbase和hive数据库。
272 12
|
SQL 关系型数据库 MySQL
Sqoop【付诸实践 01】Sqoop1最新版 MySQL与HDFS\Hive\HBase 核心导入导出案例分享+多个WRAN及Exception问题处理(一篇即可学会在日常工作中使用Sqoop)
【2月更文挑战第9天】Sqoop【付诸实践 01】Sqoop1最新版 MySQL与HDFS\Hive\HBase 核心导入导出案例分享+多个WRAN及Exception问题处理(一篇即可学会在日常工作中使用Sqoop)
613 7
|
SQL 分布式数据库 HIVE
Hbase 和Hive表关联
Hbase 和Hive表关联
195 0
|
SQL 分布式数据库 HIVE
Hbase二级索引_Hive on Hbase 及phoenix详解
Hbase二级索引_Hive on Hbase 及phoenix详解
251 0
|
SQL 分布式计算 分布式数据库
HBase 和 Hive 你能分清楚吗?(转拉勾教育)
HBase 和 Hive 你能分清楚吗?(转拉勾教育)
439 0
|
存储 SQL 分布式数据库
分布式数据恢复-hbase+hive分布式存储数据恢复案例
hbase+hive分布式存储数据恢复环境: 16台某品牌R730XD服务器节点,每台物理服务器节点上有数台虚拟机,虚拟机上配置的分布式,上层部署hbase数据库+hive数据仓库。 hbase+hive分布式存储故障&初检: 数据库文件被误删除,数据库无法使用。 通过现场对该分布式环境的初步检测,发现虚拟机还可以正常启动,虚拟机里面的数据库块文件丢失。好在块文件丢失之后没有对集群环境写入数据,底层数据损坏可能性比较小。
|
6月前
|
分布式计算 Ubuntu Hadoop
Ubuntu22.04下搭建Hadoop3.3.6+Hbase2.5.6+Phoenix5.1.3开发环境的指南
呈上,这些步骤如诗如画,但有效且动人。仿佛一个画家在画布上描绘出一幅完美的画面,这就是你的开发环境。接下来,尽情去创造吧,祝编程愉快!
439 19
|
分布式计算 Java Hadoop
java使用hbase、hadoop报错举例
java使用hbase、hadoop报错举例
313 4
|
分布式计算 Hadoop Shell
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
313 4
下一篇
oss云网关配置