一.Poenix概述
本篇使用的poenix版本:apache-phoenix-4.14.0-cdh5.14.2-bin.tar.gz
并且是在Hbase处于单机模式下
Phoenix简介
- 构建在HBase上的SQL层
- 使用标准SQL在HBase中管理数据
- 使用JDBC来创建表,插入数据、对HBase数据进行查询
- Phoenix JDBC Driver容易嵌入到支持JDBC的程序中
Phoenix适合场景
- 快速而容易地构建基于HBase的应用程序
- 需要极大的规模、性能和并发性的SQL应用程序
- 在转换到Hadoop时重用已有的SQL技能
- BI工具(对SQL支持较好)
Phoenix不适合场景
- 涉及大型Join操作或高级SQL特性的复杂SQL查询
- Full-Table Scans
- ETL jobs
- Application Drivers/Interface
Phoenix框架
Phoenix支持类SQL语法
Phoenix支持的关键字类型
Standard SQL Data Types --标准SQL 数据类型
SELECT, UPSERT, DELETE --UPSERT与标准SQL不同
JOINs: Inner and Outer
Subqueries
Secondary Indexes
GROUP BY, ORDER BY, HAVING
AVG, COUNT, MIN, MAX, SUM
Primary Keys, Constraints
CASE, COALESCE
VIEWs
PERCENT_RANK, LAST|FIRST VALUE
UNION ALL
Cross Joins
Windowing Functions --窗口函数
Transactions --事务
Authorization
Replication Management
二.Poenix安装配置
- 第一步:将poenix包上传至linux
- 第二步:解压poenix包
tar -zxvf [poenix路径] -C [/解压路径]
- 第三步:将poenix目录下的phoenix-4.14.0-cdh5.14.2-server.jar复制到hbase/lib下
cp /.../Poenix目录/phoenix-4.14.0-cdh5.14.2-server.jar /.../hbase/lib/
- 第四步:修改hbase/conf/下的hbase-site.xml文件
--增加以下内容
<property>
<name>hbase.regionserver.wal.codec</name>
<value>org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec</value>
</property>
<property>
<name>phoenix.schema.isNamespaceMappingEnabled</name>
<value>true</value>
</property>
<property>
<name>phoenix.schema.mapSystemTablesToNamespace</name>
<value>true</value>
</property>
<property>
<name>phoenix.functions.allowUserDefinedFunctions</name>
<value>true</value>
<description>enable UDF functions</description>
</property>
- 第六步:将hbase-site.xml文件复制一份到phoenix/bin目录下
cp /...hbase路径/hbase/conf/hbase-site.xml /...phoenix路径/phoenix/bin/
- 第七步:测试hbase是否能正常运行
hbase-daemon.sh start master
hbase shell
- 第八步:启动phoenix/bin下的splline.py
--测试
create table test_emp(emp_id bigint primary key,emp_name varchar(10)); --创建表
upsert into test_emp value(1,'zhangsan'); --插入数据
select * from test_emp; --查看数据
到这里,就完成了安装过程