赞
踩
Phoenix是HBase的开源SQL中间层,它允许你使用标准JDBC的方式来操作HBase上的数据。在Phoenix 之前,如果你要访问HBase,只能调用它的Java API,但相比于使用一行SQL就能实现数据查询,HBase的API还是过于复杂。Phoenix的理念是we put sql SQL back in NOSQL,即你可以使用标准的SQL就能完成对HBase上数据的操作。
其次,Phoenix 的性能表现也非常优异,Phoenix查询引擎会将SQL查询转换为一个或多个HBase Scan,通过并行执行来生成标准的JDBC结果集。它通过直接使用HBase API以及协处理器和自定义过滤器,可以为小型数据查询提供毫秒级的性能,为千万行数据的查询提供秒级的性能。同时Phoenix还拥有二级索引等HBase不具备的特性,因为以上的优点,所以Phoenix成为了HBase最优秀的SQL中间层。
Phoenix完全使用Java编写,将SQL查询转换为一个或多个HBase扫描,并编排执行以生成标准的
JDBC结果集。Phoenix主要能做以下这些事情:
●将SQL查询编译为HBase扫描scan
●确定scan的开始和停止位置
●将scan并行执行
●将where子句中的谓词推送到服务器端进行过滤
●通过服务器端挂钩(称为协处理器co-processors)执行聚合查询
除了这些之外,phoenix还进行了一些有趣的增强,以进一步优化性能:
●二级索引,以提高非行键查询的性能(这也是我们引入phoenix的主要原因)
●跳过扫描过滤器来优化IN,LIKE和OR查询
●可选的对行键进行加盐以实现负载均衡,避免热点
官方下载地址 http://phoenix.apache.org/download.html
选择Phoenix5.0.0-HBase-2.0下载
上传到Linux 并解压
tar -zxvf apache-phoenix-5.0.0-HBase-2.0-bin.tar.gz
mv apache-phoenix-5.0.0-HBase-2.0-bin phoenix-5.0.0 这里嫌太长我改了个名字
将phoenix-5.0.0-HBase-2.0-server.jar这个jar包拷贝到每一台机器的hbase的lib目录下
cd /usr/local/phoenix-5.0.0/lib
cp phoenix-5.0.0-HBase-2.0-server.jar /usr/local/hbase-2.1.10/lib/
重启hbase集群
stop-hbase.sh
start-hbase.sh
启动,验证是否安装成功
cd /usr/local/phoenix-5.0.0/bin
./sqlline.py node1,node2,node3:2181
出现如下信息即安装成功
创建表 create table person (id integer not null primary key,name varchar,age integer);
插入数据 upsert into person values (1,'zhangsan' ,18);
查询 select * from person;
删除数据 delete from person where name='zhangsan';
注意:phoenix严格区分大小写,它会默认将小写转换成大写,所以表名、列族、列名想要小写时需要用双引号
进入到hbase,可以看到刚刚创建的表
查看表结构 !describe 表名
查看表 !tables
删除表 drop table 表名
退出phoenix !exit
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。