为何 Hive 要整合 HBase

HBase 不支持标准 SQL 语句,而且 HBase 做统计分析也不支持 Join 表操作,而这些功能是 Hive 所具备的,所以在实际的生产环境中将二者整合并让 HBase 表中的数据可以使用 Hive SQL 语句及 Join 分析是很有必要的。

整合步骤

注:进入了 hive 的 shell 命令行界面

1. 指定 hive 中 hbase 的 zookeeper 的访问路径
set hbase.zookeeper.quorum=node-01:2181,node-02:2181,node-03:2181;
2. 指定 hbase 在 zookeeper 中存储数据的节点
set zookeeper.znode.parent=/hbase;
3. 将 hive-habse 整合的 jar 包放在 hive 的 classpath 下
add jar /root/apps/hive-3.1.2/lib/hive-hbase-handler-3.1.2.jar;

整合完成:)

验证

1. 在 HBase 中建表
hbase(main):001:0> create 't_hive_hbase','base_info','extra_info'
Created table t_hive_hbase
Took 1.9468 seconds
=> Hbase::Table - t_hive_hbase # 插入表数据
hbase(main):002:0> put 't_hive_hbase','001','base_info:name','zhangsan'
Took 2.3504 seconds
hbase(main):003:0> put 't_hive_hbase','001','base_info:age','28'
Took 0.0128 seconds
hbase(main):004:0> put 't_hive_hbase','001','extra_info:phone','13500412502'
2. 在 Hive 中建表并关联 HBase 表
create external table t_hive_hbase(rowkey string, base_info map<string, string>, extra_info map<string, string>)
row format delimited fields terminated by '\t'
stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
with serdeproperties ("hbase.columns.mapping" = ":key,base_info:,extra_info:")
tblproperties ("hbase.table.name" = "t_hive_hbase");

必要的参数解释:

  • hbase.columns.mapping:指定 HBase 和 Hive 表的字段的映射关系
  • :key:获取 rowkey
  • base_info:列名:获取 base_info:列名的值,不写就是默认获取全部
  • extra_info:列名:获取 extra_info:列名的值,不写就是默认获取全部
2. 在 Hive 中执行 SQL 查询
select * from t_hive_hbase;

+----------------------+---------------------------------+--------------------------+
| t_hive_hbase.rowkey | t_hive_hbase.base_info | t_hive_hbase.extra_info |
+----------------------+---------------------------------+--------------------------+
| 001 | {"age":"28","name":"zhangsan"} | {"phone":"13500412502"} |
+----------------------+---------------------------------+--------------------------+

Hive 整合 HBase的更多相关文章

  1. 大数据学习系列之五 ----- Hive整合HBase图文详解

    引言 在上一篇 大数据学习系列之四 ----- Hadoop+Hive环境搭建图文详解(单机) 和之前的大数据学习系列之二 ----- HBase环境搭建(单机) 中成功搭建了Hive和HBase的环 ...

  2. hive整合hbase

    Hive整合HBase后的好处: 通过Hive把数据加载到HBase中,数据源可以是文件也可以是Hive中的表. 通过整合,让HBase支持JOIN.GROUP等SQL查询语法. 通过整合,不仅可完成 ...

  3. 四 Hive整合HBase

    安装环境: hbase版本:hbase-1.4.0-bin.tar.gz hive版本:   apache-hive-1.2.1-bin.tar 注意请使用高一点的hbase版本,不然就算hive和h ...

  4. 创建hive整合hbase的表总结

    [Author]: kwu 创建hive整合hbase的表总结.例如以下两种方式: 1.创建hive表的同步创建hbase的表 CREATE TABLE stage.hbase_news_compan ...

  5. Hive 整合Hbase

    摘要 Hive提供了与HBase的集成,使得能够在HBase表上使用HQL语句进行查询 插入操作以及进行Join和Union等复杂查询.同时也可以将hive表中的数据映射到Hbase中.     应用 ...

  6. 大数据学习系列之九---- Hive整合Spark和HBase以及相关测试

    前言 在之前的大数据学习系列之七 ----- Hadoop+Spark+Zookeeper+HBase+Hive集群搭建 中介绍了集群的环境搭建,但是在使用hive进行数据查询的时候会非常的慢,因为h ...

  7. Hive篇---Hive与Hbase整合

     一.前述 Hive会经常和Hbase结合使用,把Hbase作为Hive的存储路径,所以Hive整合Hbase尤其重要. 二.具体步骤 hive和hbase同步https://cwiki.apache ...

  8. Hive综合HBase——经Hive阅读/书写 HBase桌子

    社论: 本文将Hive与HBase整合在一起,使Hive能够读取HBase中的数据,让Hadoop生态系统中最为经常使用的两大框架互相结合.相得益彰. watermark/2/text/aHR0cDo ...

  9. 二十、Hadoop学记笔记————Hive On Hbase

    Hive架构图: 一般用户接口采用命令行操作, hive与hbase整合之后架构图: 使用场景 场景一:通过insert语句,将文件或者table中的内容加入到hive中,由于hive和hbase已经 ...

  10. hive_学习_02_hive整合hbase(失败)

    一.前言 本文承接上一篇:hive_学习_01_hive环境搭建(单机) ,主要是记录 hive 整合hbase的流程 二.环境准备 1.环境准备 操作系统 : linux CentOS 6.8 jd ...

随机推荐

  1. 通过 AWS CLI 操作 AWS S3

    AWS S3后台提供了上传文件的地方,但是大文件上传比较慢--- 几十kb/s.使用AWS CLI上传文件相对较快 1:安装CLI (这里环境是 Windows) 参考官方文档 :https://do ...

  2. 【安装系统】win8装win7遇到的一些坑

    估计不少人就觉得重装系统很容易,本身win7再装win7那基本都是无脑一键操作. 下面说的是一次win8装win7的坑~ 案例材料: 戴尔灵越14-5439,内存4G,硬盘500G. 原系统:win8 ...

  3. Blazor学习之旅(7)布局

    大家好,我是Edison. 本篇,我们来了解下在Blazor中的布局. 什么是布局 Blazor 中的布局可以让我们编写的页面具有相同的导航菜单和页头页脚部分,提高通用代码的复用性,通过一次性的编写通 ...

  4. SOD框架使用金仓数据库“踩坑记”

    SOD框架使用金仓数据库"踩坑记",严格来说是使用金仓数据库过程的踩坑记,并不是使用SOD框架来访问金仓数据库才会发生的问题,SOD框架的网友多年前就封装了人大金仓(现在已经改名为 ...

  5. VBA使用Outlook自动发送邮件

    ↓↓↓欢迎关注我的公众号,在这里有数据相关技术经验的优质原创文章↓↓↓ 基础版本–能自动发送就是成功 利用VBA使用Outlook自动发送邮件,代码及注释如下: Sub send_mail() Dim ...

  6. batocera添加游戏

    进入batocera系统之后,会发现就只有几个不懂什么东西的模拟器,或者FC和其它,好象没有发现可以用NS或者其它的模拟器,在此说明 一下: 整个系统至少支持73个以上模拟器,主界面没有仅因为你没有放 ...

  7. wps office定制化 自定义右侧面板 关联批注

    效果 核心思想 监听onWindowSelectionChange事件,获取当前光标位置,然后对比高连位置 判断是否选在区域内. 若是则激活右侧对应的高亮面板 核心代码 index.vue <s ...

  8. C++ 四种cast 的使用场景

    简介 static_cast() : 表示编译级别的强制类型转换, 且不能发现运行是的错误. 类似C的(int) 之类的强制转圈, 不能去除const属性, volatile 属性. 还有一个unal ...

  9. 入门书籍 web前端开发最佳实践

    高效web前端开发  book PageSpeed  出自google公司  是一款  免费的工具  性能分析 Timeline网页交互  和渲染  所要花费的时间 Profile谁  可以查看网页c ...

  10. Edu-Dict + English Learning Materials: Mdict词库:免费下载mdx/mdd/css文件资源,支持欧路,深蓝,goldendict电子词典

    https://mdict.org https://github.com/xiaolai/apple-computer-literacy/blob/main/Install-Mdict-Diction ...