phoenix是Apache 出的一个全文检索,能够更清晰的帮助hbase存储数据
长篇幅预警!!!这一篇东西有点多,大家可以收藏学习!
目录
将配置好的hbase-site.xml文件复制到phoenix客户端也就是hadoop01的phoenix的bin目录下
apache phoenix简介
简介
Apache Phoenix让hadoop支持oltp和业务操作分析
olap和oltp
- olap:在线分析处理系统,hadoop、hbase
- oltp:在线事务处理系统,传统的关系数据库支持的
sql:结构化查询语言
acid:原子性、一致性、独立性和持久性
Phoenix的作用
- 提供标准的sql和acid事务支持
- 让NoSQL数据库具备了有模式的方式读取数据,可以使用sql来创建表、插入、修改和删除数据
- Phoenix通过协处理器在服务器端执行操作,无侵入式
- 可以很好的与其他hadoop生态组件整合,例如spark、hive、flume、flink以及MR
apache phoenix安装
下载
同样自取
https://pan.baidu.com/s/1JcvAQhQZqgQDD9-GHPZGog?pwd=1234 提取码:1234
上传到服务器
解压
修改hbase的配置文件
复制依赖包
复制phoenix的服务端jar包到master和worker的hbase的lib文件夹
复制phoenix的客户端jar包到phoenix客户端也就是hadoop01的phoenix的bin文件夹下
分发hbase配置文件
将配置好的hbase-site.xml文件复制到phoenix客户端也就是hadoop01的phoenix的bin目录下
重启hbase
启动phoenix客户端
cd /export/servers/phoenix-hbase-2.4-5.1.2-bin
bin/sqlline.py hadoop001:2181
查看hbase的web ui
到这里phoenix的安装部署就结束了,接下来是使用知识介绍
phoenix的使用
需求
使用之前的订单数据,但是用phoenix来创建表,并进行数据的增删改查操作。
https://pan.baidu.com/s/1gjZWaOp5C5srC1_UeYXX0g?pwd=1234 提取码:1234
列名 |
说明 |
ID |
订单id |
STATUS |
状态 |
PAY_MONEY |
支付金额 |
PAY_WAY |
支付方式 |
USER_ID |
用户id |
OPERATION_DATE |
操作时间 |
CATEGORY |
商品类别 |
创建表
语法:
create table if not exists 表名(
rowkey名称 类型 primary key,
列簇.列名 类型,
……
) ;
先用vscode之类的编辑工具,写好创建表的语句
再复制到phoenix客户端执行
在hbase的web ui查看刚创建的表
同时也可以看到表默认只有一个分区Region,也就是没有分区
查看表的详情
语法:
!desc ORDER_DETAIL
注意:一定要加上!
删除表
语法:
drop table if exists 表名;
大小写的问题
如果在使用列簇、列名的时候没有添加双引号,Phoenix会自动转换为大写。