Phoenix 最早是 saleforce 的一个开源项目,后来成为 Apache 的顶级项目。 Phoenix 构建在 HBase 之上的开源 SQL 层. 能够让我们使用标准的 JDBC API 去建表, 插入数据和查询 HBase 中的数据, 从而可以避免使用 HBase 的客户端 API. 在我们的应用和 HBase 之间添加了 Phoenix, 并不会降低性能, 而且我们也少写了很多代码.
Phoenix 将 HBase 的数据模型映射到关系型世界
hbase | phoenix |
---|---|
namespace | database(库) |
table | table(表) |
column family | cf:cq |
column quliafier | column quliafier |
rowkey | 主键 |
在sql中如建表时,指定的主键是联合主键(由多个列共同作为主键), 在hbase中,rowkey就是多个主键共同拼接的结果!
[bigdata@hadoop002 software]$ tar -zxvf apache-phoenix-4.14.2-HBase-1.3-bin.tar.gz -C /opt/module
[bigdata@hadoop002 module]$ mv apache-phoenix-4.14.2-HBase-1.3-bin phoenix
[bigdata@hadoop002 phoenix]$ cp phoenix-4.14.2-HBase-1.3-server.jar /opt/module/hbase/lib
[bigdata@hadoop002 phoenix]$ cp phoenix-4.14.2-HBase-1.3-client.jar /opt/module/hbase/lib
scp -r phoenix-4.14.2-HBase-1.3-server.jar hadoop003:/opt/module/hbase/lib
scp -r phoenix-4.14.2-HBase-1.3-client.jar hadoop003:/opt/module/hbase/lib
scp -r phoenix-4.14.2-HBase-1.3-server.jar hadoop004:/opt/module/hbase/lib
scp -r phoenix-4.14.2-HBase-1.3-client.jar hadoop004:/opt/module/hbase/lib
[bigdata@hadoop002 phoenix]$ sudo vim /etc/profile
# phoenix_home
export PHOENIX_HOME=/opt/module/phoenix
export PHOENIX_CLASSPATH=$PHOENIX_HOME
export PATH=$PATH:$PHOENIX_HOME/bin
// 使立即生效
[bigdata@hadoop002 phoenix]$ source /etc/profile
[bigdata@hadoop002 phoenix]$ start-dfs.sh
[bigdata@hadoop003 module]$ start-yarn.sh
[bigdata@hadoop002 phoenix]$ ../zookeeper-3.4.10/bin/start-allzk.sh
[bigdata@hadoop002 phoenix]$ start-hbase.sh
[bigdata@hadoop002 phoenix]$ bin/sqlline.py hadoop002:2181
0: jdbc:phoenix:hadoop002:2181> !quit
本次的分享就到这里了