Hbase实际使用场景以及相关可视化工具 |
您所在的位置:网站首页 › 建筑之间的桥梁叫什么 › Hbase实际使用场景以及相关可视化工具 |
Hbase实际使用场景以及相关可视化工具
Hbase实际使用场景DBeaver连接Phoenixdbeaver使用可视化连接phoenix需要注意的问题
使用IDEA集成phoenix的连接DataGrip连接Phoenix
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连接Phoenix1.开启hadoop集群和zk 2.开启hbase [atguigu@hadoop102 jdbc]$ start-hbase.sh3.打开DBeaver新建连接选中phoenix 6.点击测试
1.版本一定要与dbeaver兼容 比如dbeaver7.0与phoenix5.0要对应,phoenix低于5.0兼容不了。 2.常见的问题 1.选中IDEA中右边database边框,并点击+
说明我们需要去配置我们的JDK版本的。切换Driver点击Advanced 这样就可以使用IDEA来操作了。具体怎么用自己可以查询一些官方资料。一般我使用DataGrip来连接。 DataGrip连接Phoenix |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |