第 1 章 Phoenix 简介
1.1 Phoenix 定义
Phoenix 最早是 saleforce 的一个开源项目,后来成为 Apache 的顶级项目。
Phoenix 构建在 HBase 之上的开源 SQL 层. 能够让我们使用标准的 JDBC API 去建表, 插入数据和查询 HBase 中的数据, 从而可以避免使用 HBase 的客户端 API.
在我们的应用和 HBase 之间添加了 Phoenix, 并不会降低性能, 而且我们也少写了很多代码.
1.2 Phoenix 特点
- 将 SQl 查询编译为 HBase 扫描
- 确定扫描 Rowkey 的最佳开始和结束位置
- 扫描并行执行
- 将 where 子句推送到服务器端的过滤器
- 通过协处理器进行聚合操作
- 完美支持 HBase 二级索引创建
- DML命令以及通过DDL命令创建和操作表和版本化增量更改。
- 容易集成:如Spark,Hive,Pig,Flume和Map Reduce。
1.3 Phoenix 架构
1.4 Phoenix 数据存储
Phoenix 将 HBase 的数据模型映射到关系型世界
第 2 章 Phoenix 快速入门
2.1 安装部署
http://archive.apache.org/dist/phoenix/apache-phoenix-4.14.2-HBase-1.3/
tar -zxvf apache-phoenix-4.14.2-HBase-1.3-bin.tar.gz -C /opt/module
mv apache-phoenix-4.14.2-HBase-1.3-bin phoenix
复制 HBase 需要用到 server 和 client 2 个 jar 包
cp phoenix-4.14.2-HBase-1.3-server.jar /opt/module/hbase-1.3.1/lib
cp phoenix-4.14.2-HBase-1.3-client.jar /opt/module/hbase-1.3.1/lib
需要把刚才 copy 的 2个jar 包分发到其他 HBase 节点
export PHOENIX_HOME=/opt/module/phoenix
export PHOENIX_CLASSPATH=$PHOENIX_HOME
export PATH=$PATH:$PHOENIX_HOME/bin
步骤 6: 启动 hadoop, zookeeper, HBase
/opt/module/phoenix » bin/sqlline.py hadoop201,hadoop202,hadoop203:2181
2.2 Phoenix 表操作
!tables
# 或者
!table
CREATE TABLE IF NOT EXISTS us_population (
state CHAR(