HBase基础知识(六):HBase 对接 Hive

1. HBase 与 Hive 的对比

1.Hive

(1) 数据仓库 Hive 的本质其实就相当于将 HDFS 中已经存储的文件在 Mysql 中做了一个双射关系,以 方便使用 HQL 去管理查询。

(2) 用于数据分析、清洗 Hive 适用于离线的数据分析和清洗,延迟较高。

(3) 基于 HDFS、MapReduce Hive 存储的数据依旧在 DataNode 上,编写的 HQL 语句终将是转换为 MapReduce 代码执 行。

2.HBase

(1) 数据库 是一种面向列族存储的非关系型数据库。

(2) 用于存储结构化和非结构化的数据 适用于单表非关系型数据的存储,不适合做关联查询,类似 JOIN 等操作。

(3) 基于 HDFS 数据持久化存储的体现形式是 HFile,存放于 DataNode 中,被 ResionServer 以 region 的形 式进行管理。

(4) 延迟较低,接入在线业务使用 面对大量的企业数据,HBase 可以直线单表大量数据的存储,同时提供了高效的数据访问 速度。

2. HBase 与 Hive 集成使用

尖叫提示:HBase 与 Hive 的集成在最新的两个版本中无法兼容。所以,我们只能含着泪勇 敢的重新编译:hive-hbase-handler-1.2.2.jar!!好气!!

复制代码
<property>
    <name>hive.zookeeper.quorum</name>
    <value>hadoop100,hadoop101,hadoop102</value>
    <description>The list of ZooKeeper servers to talk to. This is only needed for read/write locks.</description>
</property>
​
<property>
    <name>hive.zookeeper.client.port</name>
    <value>2181</value>
    <description>The port of ZooKeeper servers to talk to. This is only needed for read/write locks.</description>
</property>

配置好后分发到其他服务器上

1.案例一 目标:建立 Hive 表,关联 HBase 表,插入数据到 Hive 表的同时能够影响 HBase 表。

分步实现:

(1) 在 Hive 中创建表同时关联 HBase

复制代码
CREATE TABLE hive_hbase_emp_table(
empno int,
ename string,
job string,
mgr int,
hiredate string,
sal double,
comm double,
deptno int)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = 
":key,info:ename,info:job,info:mgr,info:hiredate,info:sal,info:comm,info:deptno")
TBLPROPERTIES ("hbase.table.name" = "hbase_emp_table");

提示:完成之后,可以分别进入 Hive 和 HBase 查看,都生成了对应的表

(2) 在 Hive 中创建临时中间表,用于 load 文件中的数据

提示:不能将数据直接 load 进 Hive 所关联 HBase 的那张表中

相关推荐
Polar__Star10 分钟前
C#怎么操作Chart图表控件 C#如何用WinForms Chart控件绑定数据绘制统计图表【控件】
jvm·数据库·python
2401_8971905514 分钟前
CSS如何制作数字滚动效果_利用transform位移数字
jvm·数据库·python
一 乐25 分钟前
电影院|基于springboot + vue电影院购票管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·电影院购票管理管理系统
1.14(java)38 分钟前
Spring核心:IoC与DI详解
数据库
运维 小白1 小时前
PostgreSQL高可用(Patroni + etcd + Keepalived)
数据库·postgresql·etcd
2301_813599551 小时前
HTML图片怎么用UnoCSS对齐_UnoCSS原子化CSS图片对齐实战
jvm·数据库·python
m0_377618231 小时前
c++怎么在不加载整个大文件的情况下获取其SHA256校验值【进阶】
jvm·数据库·python
檬柠wan1 小时前
MySQL-数据库增删改查学习
数据库·学习·mysql
qq_189807031 小时前
CSS如何实现纯CSS树状目录结构_利用-checked与递归思维构建交互节点
jvm·数据库·python
2301_777599372 小时前
Go语言如何做HTTP连接池_Go语言HTTP连接池教程【最新】
jvm·数据库·python