phoenix-5.0.0安装和基本使用

    技术2022-07-15  184

    phoenix介绍

    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查询 ●可选的对行键进行加盐以实现负载均衡,避免热点

    phoenix安装

    官方下载地址 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

    出现如下信息即安装成功

    phoenix基本用法

    创建表 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

    其他用法详见官方文档 http://phoenix.apache.org/language/index.html#

    Processed: 0.009, SQL: 9