Hbase实际使用场景

(1)当数据库来使用(存数据好读数据)
需要注意的是,我们在使用的时候put一条一条数据不是做数据的处理,而是在做数据的记录,比如电商项目,购买商品,每一个操作记录记录在hbase里面,这是最基础的使用。(java后端用法)
当涉及大量数据时候存储时候,mysql不好集成和拓展。大数据开发我们一般没有这种需求,需要明确。
(2)我们到底怎么使用?
例如采集项目,java后端通过业务处理存在mysql的数据,我们对海量数据进行处理,离线数仓一般没怎么使用hbase,但是实时项目需要用到hbase,需要实时对数据进行存储,分析和计算。一般我们不写Hbase的API,不需要put一条条来,直接使用一个框架把10-20G等数据load到数据库里面(这里指是离线)。Hbase中使用phoenix非常重要,我们学习和使用的计算和存储框架非常多,如果某一个库,不能用SQL,那么就需要我们自己写API读里面的数据,怎么算,不可能自己写计算引擎来计算。必须要用别人的计算引擎,计算引擎必有多种源 ,把不同库数据load进来,变成相同类似格式,才能放一起计算,算完之后出结果,把结果导入一个库里面,这是计算引擎的写法
我们大数据计算引擎有一个核心的特点:一定要能够支持SQL,不然没有标准
对于phoenix来说,spark也专门出了一个连接优化,连接phoenix,主要使用了Scala隐式转换包,直接使用saveToPhoenix,保存数据到phoenix,hbase是NOSQL数据库。
(3)离线数仓还不咋用Hbase
数据都结构化好了,对数据实时性要求不高,直接把数据load到HDFS上,利用hive做出表。对hive表进行一层层计算,最后结果还是一个hive表的数据,最后把hive里面的数据导出到MySQL里面(专业工具sqoop),这样可以和java开发人员进行交互。这是离线的流程!Hbase快,性能好,不需要用到Hbase,用更简单的方法
(4)实时项目需要用到Hbase,对计算引擎要求比较高,使用spark或者flink来调,用put把数据实时写到hbase里面,需要继承spark或者flink来调用HBase里面的数据,或者往Hbase里面写数据,进行数据的处理,输出一个结果。
这个时候使用Hbase图什么? 即使用非关系型数据库。存的固定数据,比如存商品信息,实时来了订单信息,根据订单信息调商品信息,进行一些计算。这里面有一个专业名词: 状态编程
Hbase的使用和状态编程还不太一样,状态编程指在进行实时计算的时候需要记录某一点的状态。
比如,统计某个点击某个按钮点击了多少次,至少要记录一个状态,点一次,那个值加1,没加1后和这个值需要保存在某个地方(保存在本地磁盘,写的速度肯定很慢,保存在关系型数据库里面。但是关系型数据库没有非关系型数据库性能好),因此一般我们都保存在非关系数据库(Hbase,Redis)里面,把某种状态。大数据量太大,需要存在Hbase里面,基于spark使用phoenix来调Hbase里面的数据。
(5)会用phoenix
支持sql,创建二级索引
索引建立,你看读写谁偏向多。

DBeaver连接Phoenix

1.开启hadoop集群和zk
2.开启hbase

[atguigu@hadoop102 jdbc]$ start-hbase.sh

3.打开DBeaver新建连接选中phoenix
在这里插入图片描述
4.输入主机参数,不需要配置用户名和密码
在这里插入图片描述
5.点击编辑驱动设置,手动添加驱动包,切记,千万别自己下载驱动,很慢,慢的你无法想象。
在这里插入图片描述
移除自带的官方驱动,进入linux安装的phoenix安装目录下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.点击测试

在这里插入图片描述
到此为止测试成功,就可以进行数据操作了,phoenix可视化。
在这里插入图片描述

dbeaver使用可视化连接phoenix需要注意的问题

1.版本一定要与dbeaver兼容
比如dbeaver7.0与phoenix5.0要对应,phoenix低于5.0兼容不了。
2.常见的问题
在这里插入图片描述
解决方案:
使用everything找到你的 dbeaver.ini 文件
在这里插入图片描述
使用笔记本打开
给一个JavaHome变量找到你对应的版本。
在这里插入图片描述
如果还不行,把这个参数设置放在.ini文件前面。别放在尾部,扫描不到,类似我们配置Path环境变量一样。

使用IDEA集成phoenix的连接

1.选中IDEA中右边database边框,并点击+
在这里插入图片描述
在这里插入图片描述
参数解读:Driver and Data Source是自定义驱动和数据源(目标框架),下面一个Driver是自定义驱动。
在这里插入图片描述
在这里插入图片描述
2.修改新创建的名字为phoenix Driver,点击+找到jar包
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
3.选中phoenix数据源右键,找到properties,添加配置URL
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
4.点击测试连接
在这里插入图片描述

Inconsistent constant pool data in classfile for class 
org/apache/hadoop/hbase/client/Row. Method 'int 
lambda$static$28(org.apache.hadoop.hbase.client.Row, org.apache.hadoop.hbase.client.Row)' 
at index 57 is CONSTANT_MethodRef and should be CONSTANT_InterfaceMethodRef.

说明我们需要去配置我们的JDK版本的。切换Driver点击Advanced
在这里插入图片描述
在这里插入图片描述
测试连接成功了。
在这里插入图片描述

在这里插入图片描述

这样就可以使用IDEA来操作了。具体怎么用自己可以查询一些官方资料。一般我使用DataGrip来连接。

DataGrip连接Phoenix

在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐