【Hbase】hbase和phoenix的整合(6)

phoenix是Apache 出的一个全文检索,能够更清晰的帮助hbase存储数据

长篇幅预警!!!这一篇东西有点多,大家可以收藏学习!

目录

apache phoenix简介

简介

olap和oltp

Phoenix的作用

apache phoenix安装

下载

上传到服务器

解压

修改hbase的配置文件

复制依赖包

分发hbase配置文件

将配置好的hbase-site.xml文件复制到phoenix客户端也就是hadoop01的phoenix的bin目录下

重启hbase

启动phoenix客户端

查看hbase的web ui

phoenix的使用

需求

创建表

查看表的详情

删除表

大小写的问题

插入数据

查询数据

更新数据

删除数据

HBase的命名空间

简介

创建命名空间

查看命名空间列表

查看命名空间

删除命名空间

在指定命名空间下创建表

添加数据到命名空间表

列簇设计

版本设计

数据压缩

压缩算法

查看表的压缩方式

设置数据压缩

创建新表的时候

修改已有的表

ROWKEY设计原则

避免使用递增行键/时序的数据

避免rowkey和列的长度过大

使用long等类型比String类型更节省空间

rowkey唯一性

避免数据热点

热点

预分区

start key和end key

预分区的个数

rowkey避免数据热点设计

设置预分区

指定start key和end key来分区

创建预分区

hbase的web ui查看分区的占用情况

指定分区的数量、分区策略

创建预分区

hbase的web ui查看分区的占用情况

分区数量

分区策略

Phoenix的视图

 创建视图

查询数据

二级索引

索引分类

 全局索引

本地索引

覆盖索引

函数索引

创建索引

根据索引查询数据

删除索引

查看索引


apache phoenix简介

简介

 Apache Phoenix让hadoop支持oltp和业务操作分析

olap和oltp

  1. olap:在线分析处理系统,hadoop、hbase
  2. oltp:在线事务处理系统,传统的关系数据库支持的

sql:结构化查询语言

acid:原子性、一致性、独立性和持久性

Phoenix的作用

  1. 提供标准的sql和acid事务支持
  2. 让NoSQL数据库具备了有模式的方式读取数据,可以使用sql来创建表、插入、修改和删除数据
  3. Phoenix通过协处理器在服务器端执行操作,无侵入式
  4. 可以很好的与其他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会自动转换为大写。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星欲冷hx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值