龙空技术网

phoenix+hbase实现即席查询

rhinoet 281

前言:

眼前姐妹们对“apachephoenix”可能比较讲究,小伙伴们都想要剖析一些“apachephoenix”的相关文章。那么小编同时在网上网罗了一些关于“apachephoenix””的相关文章,希望兄弟们能喜欢,我们一起来学习一下吧!

Apache Phoenix简介

1.Phoenix是构建在HBase上的一个SQL层,能让我们用标准的JDBC API而不是HBase客户端API来创建表,插入数据和对HBase数据进行查询。Phoenix完全使用Java编写,作为HBase内嵌的JDBC驱动。Phoenix查询引擎会将SQL查询转换为一个或多个HBase扫描,并编排执行以生成标准的JDBC结果集。

2.phoenix+hbase与hive+hdfs对比

Phoenix客户端命令操作

Phoenix直接使用HBase API、协同处理器与自定义过滤器,对于简单查询来说,其性能量级是毫秒级,对于百万级别的行数来说,其性能量级是秒级。

phoenix通过以下方式实现高性能操作hbase:

1.编译你的SQL查询为原生HBase的Scan语句

2.检测scan语句最佳的开始和结束的key

3.精心编排你的scan语句让他们并行执行

4.推送where子句的位次到服务端过滤器处理

5.执行聚合查询通过服务端钩子(称为协同处理器)

6.实现了二级索引来提升非主键字段查询的性能

7.统计相关数据来提高并行化水平,并帮助选择最佳优化方案

8.跳过扫描过滤器来优化in、like、or条件查询

9.优化主键来均匀分布写压力

标签: #apachephoenix