Apache Phoenix:构建在 HBase 之上的 SQL 层,允许使用标准 JDBC 和 SQL 语句对 HBase 中的数据进行低延迟、高性能的实时查询。
hive工具、phoenix工具的区别
| 底层存储 | HDFS(或兼容文件系统) | HBase |
| 主要用途 | 离线批处理、数据仓库 | 实时 OLTP、在线查询 |
| 查询延迟 | 秒级到分钟级(依赖 MapReduce/Tez) | 毫秒级 |
| SQL 支持 | 较全面,但非标准 SQL | 支持标准 SQL,但功能相对有限 |
| 索引支持 | 不支持二级索引 | 支持自动维护二级索引 |
| 适用场景 | 大数据分析、ETL | 高并发实时查询、BI 报表 |
准备安装包:phoenix-hbase-2.5-5.1.3-bin.tar.gz,上传到node01节点上。
cd /export/server
tar -zxvf phoenix-hbase-2.5-5.1.3-bin.tar.gz
mv phoenix-hbase-2.5-5.1.3-bin phoenix-hbase-2.5
修改hbase的hbase-site.xml配置
cd /export/server/hbase-2.5.13/conf ,vi hbase-site.xml 新增以下配置
<!-- 支持HBase命名空间映射 -->
<property>
<name>phoenix.schema.isNamespaceMappingEnabled</name>
<value>true</value>
</property>
<property>
<name>hbase.regionserver.wal.codec</name>
<value>org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec</value>
</property>
分发到node02 、node03节点
scp hbase-site.xml node02:$PWD
scp hbase-site.xml node03:$PWD
#复制phoenix目录中的phoenix-server.jar包到hbase的lib目录(重要)
cd /export/server/phoenix-hbase-2.5
cp -rf phoenix-server-hbase-2.5-5.1.3.jar /export/server/hbase-2.5.13/lib
cd /export/server/hbase-2.5.13/lib
mv phoenix-server-hbase-2.5-5.1.3.jar phoenix-server-hbase-2.5.jar
分发到node02 、node03节点
scp phoenix*.jar node02:$PWD
scp phoenix*.jar node03:$PWD
vi /export/server/phoenix-hbase-2.5/bin/hbase-site.xml配置
<!-- 支持HBase命名空间映射 -->
<property>
<name>phoenix.schema.isNamespaceMappingEnabled</name>
<value>true</value>
</property>
ok~~ 搭建完成
使用sqlline.py工具登录进去
sqlline.py node01:2181
!table 查看有哪些表
创建表 order_dtl
create table order_dtl(
id varchar primary key ,
c1.status varchar ,
c1.money double ,
c1.pay_way integer ,
c1.op_time varchar ,
c1.category varchar
)
# 插入一条数据
upsert into order_dtl values('00001','已提交',4070,1,'2020-04-22 10:20:22','手机');
upsert into order_dtl values('00002','已提交',4030,1,'2020-04-23 11:20:22','手机');
upsert into order_dtl values('00003','已提交',4072,1,'2020-04-22 09:20:22','手机');
select * from order_dtl; #查询表数据 ,使用SQL语法


阅读排行


Copyright © 叮叮声的奶酪 版权所有
备案号:鄂ICP备17018671号-1