登录  | 加入社区

黑狼游客您好!登录后享受更多精彩

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

查看: 430|回复: 0

Hive整合HBase

[复制链接]

952

主题

952

帖子

0

现金

黑狼菜鸟

Rank: 1

积分
0
发表于 2020-12-24 03:31:57 来自手机 | 显示全部楼层 |阅读模式 来自 法国

原标题:Hive 整合 HBase

作者 | 广 责编 | 张文

头图 | CSDN 下载自视觉中国

Ys9071sx7M390Pos.jpg

HBase 固然可以存储数亿或数十亿行数据,但是对于数据分析来说不太友爱,它只提供了简朴的基于 Key 值的快速查询本领,没法举行大量的条件查询。

现有 HBase 的查询工具有许多如:Hive、Tez、Impala、Shark/Spark、Phoenix 等。本日重要说 Hive。

Hive 方便地提供了 Hive QL 的接口来简化 MapReduce 的利用, 而 HBase 提供了低耽误的数据库访问。假如两者联合,可以使用 MapReduce 的上风针对 HBase 存储的大量内容举行离线的盘算和分析。

Hive 和 HBase 通讯原理

Hive 与 HBase 整合的实现是使用两者自己对外的 API 接口相互通讯来完成的。这种相互通讯是通过 $HIVE_HOME/lib/hive-hbase-handler-{hive.version}.jar 工具类实现的。

通过 HBaseStorageHandler,Hive 可以获取到 Hive 表所对应的 HBase 表名、列簇和列、InputFormat、OutputFormat 类、创建和删除 HBase 表等。

Hive 访问 HBase 中表数据,实质上是通过 MapReduce 读取 HBase 表数据,实在现是在 MR 中,利用 HiveHBaseTableInputFormat 完成对 HBase 表的切分,获取 RecordReader 对象来读取数据。

对 HBase 表的切分原则是一个 Region 切分成一个 Split,即表中有多少个 Regions,MR 中就有多少个 Map;读取 HBase 表数据都是通过构建 Scanner,对表举行全表扫描,假如有过滤条件,则转化为 Filter。当过滤条件为 rowkey 时,则转化为对 rowkey 的过滤;Scanner 通过 RPC 调用 RegionServer 的 next来获取数据;

睁开全文

根本通讯原理如下:

joYZ40aB7X3yOk04.jpg

Hive-HBase

详细步调

新建 HBase 表:

插入数据:

这里 HBase 有个列簇 f1,有两个列 c1 和 c2,新建 Hive 表关联 HBase 的这两列:

这里利用外部表映射到 HBase 中的表,Hive 对应的 hdfs 目次是空的,数据仍旧在 HBase 中,如许在 Hive 中删除表,并不会删除 HBase 中的表,否则,就会删除。

别的,除了 rowkey,其他三个字段利用 Map 布局来生存 HBase 中的每一个列族。

此中,参数表明如下:

  • hbase.zookeeper.quorum:

hbase.zookeeper.quorum:

指定 HBase 利用的 zookeeper 集群,默认端口是 2181,可以不指定;假如指定,格式为 zkNode1:2222,zkNode2:2222,zkNode3:2222

  • zookeeper.znode.parent

zookeeper.znode.parent

指定 HBase 在 zookeeper 中利用的根目次

  • hbase.columns.mapping

hbase.columns.mapping

Hive 表和 HBase 表的字段逐一映射,分别为:Hive 表中第一个字段映射:key(rowkey),第二个字段映射列族 f1:c1,第三个字段映射列族 f1:c2。

  • hbase.table.name

hbase.table.name

HBase 中表的名字

也可以直接在 Hive 中创建表的同时,完成在 HBase 中创建表。

在 Hive 中查询 HBase 表:

也可以插入数据:

检察 HBase 的数据:

Spark 读取提拔速率

Hive 关联 HBase 现实是底层是 MR,速率较慢,此时可以利用 spark sql 读取 Hive 表,举行查询操纵,从而访问 HBase 数据。

步伐员怎样制止陷入“内卷”、选择什么技能最有远景,中国开辟者近况与技能趋势毕竟是什么样?快来到场「2020 中国开辟者大观察」,更有丰富奖品送不绝!

☞ 我们差点就用不上 Java 了!

☞ 印度永世封禁了微信、百度、TikTok 等 59 款中国 App……

☞ RISC-V 正在成为芯片天下中的 Linux 返回搜狐,检察更多

责任编辑:





上一篇:第二代AirPodsPro筹划在本年上半年发布:计划更紧凑
下一篇:关于清算「死代码」,我有一些好方法保举给你
您需要登录后才可以回帖 登录 | 加入社区

本版积分规则

 

QQ|申请友链|小黑屋|手机版|Hlshell Inc. ( 豫ICP备16002110号-5 )

GMT+8, 2024-5-17 19:43 , Processed in 0.170257 second(s), 47 queries .

HLShell有权修改版权声明内容,如有任何爭議,HLShell將保留最終決定權!

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表