Phoenix+HBase使用心得

Phoenix+HBase实践技巧
本文分享了Phoenix+HBase的使用心得,包括无数据库概念、支持的数据操作、分页方法及序列创建等内容,并提出了进一步研究的方向。
Phoenix+HBase使用心得:


1.没有database,只有schema,schema不能够显式建立,只能够随表一起建立;schema中的表被删除时,对应的schema亦一同被删除。(可以用schema取代database的作用,但在界面上对于用户还是显示database)
建表语句:
create table test.test1(id bigint primary key,name varchar);
2.支持insert,具体语法为:
upsert into test.test1(id,name) values(1,'aaaa');
支持delete,具体语法为:
delete from test.test1;
3.union all,limit实现得较好(没有spark thriftserver在union all时同名表需作特殊处理的情况)
在1G内存的机器上,left join被卡死(不清楚具体原因)
4.支持CREATE SEQUENCE my_sequence;
upsert into test.test1(id,name) values(next value for my_sequence,'aaaa');
upsert into test.test1(id,name) values(next value for my_sequence,'bbbbb');
upsert into test.test1(id,name) values(next value for my_sequence,'ccccc');
结合sequence可以实现自增长主键
5.分页方法:
官方示例:
SELECT title, author, isbn, description 
FROM library 
WHERE published_date > 2010
AND (title, author, isbn) > (?, ?, ?)
ORDER BY title, author, isbn
LIMIT 20

主要思路是:查第n+1页时,需要把第n页最后一行查出来,作为where条件。

接下来还需要考察:

1.如何分区,如何建立索引

2.python是否方便查询(JAVA是没有问题的,JDBC)

3.如何直接入库


phoenix+hbase SQL执行效率是指使用Apache Phoenix连接HBase并执行SQL查询时的速度表现。Apache Phoenix是一个开源的SQL接口,用于HBase,它允许用户执行实时的OLTP和OLAP查询。Phoenix利用HBase作为其数据存储层,通过提供JDBC驱动,使得用户能够使用标准的JDBC API来访问HBase数据。 Phoenix通过将SQL查询转换为一系列的HBase扫描、获取和合并操作,来实现对HBase数据的高效访问。它使用HBase的协处理器(coprocessors)来优化查询性能,协处理器可以将部分计算逻辑下推到RegionServer上执行,减少了数据在网络中的传输量,从而提高了性能。 对于执行效率,Phoenix通过以下方式进行了优化: 1. 本地查询(Local Query):Phoenix允许查询在单个RegionServer上本地执行,从而减少了网络开销和跨节点的数据传输。 2. 列式存储:Phoenix使用列式存储的数据模型,能够只读取相关列的数据,而不是整个行,这在处理稀疏数据时特别有用,大大减少了I/O操作。 3. 批量处理:Phoenix支持批处理操作,能够一次读取或写入大量数据,提高了处理的效率。 尽管如此,phoenix+hbase SQL执行效率还是会受到以下因素的影响: 1. 数据分布:HBase表中数据的分布不均匀可能会导致热点问题,影响查询效率。 2. 扫描大小:大范围的扫描或过滤操作会消耗更多资源,降低执行速度。 3. 索引策略:合理的索引策略可以显著提高查询性能,但不恰当的索引则可能适得其反。
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值