1、使用Phoenix前先启动Hbase 2、Phoenix会自动把小写字母转成大写,如果要保持小写字母,需要在字符外添加双引号· Linux中启动Phoenix
cd /export/server/apache-phoenix-5.0.0-Hbase-2.0-bin/bin/# 当前虚拟机中安装了anaconda,所以python版本是3.8,而默认启动使用的是python2python2 sqlline.py node1.itcast.cn:2181
· 创建表create table [if not exists] 表名 ( rowkey名称 数据类型 primary key, 列族名.列名1 数据类型, 列族名.列名2 数据类型, ...);
· 查看所有表# system namespace的都是phoenix创建!table
· 查看表结构!desc 表名
· 查看详细数据explain select * from 表名 limit 10;
· 删除表drop table [if exists] 表名
· 退出终端!quit
· 向表插入数据(没数据就是插入,有数据就是更新)upsert into 表名(列族.列限定符1,列族.列限定符2) values(xxx, yyy, zzz)
· 删除数据delete from 表名 where "id" = '000001';
· 分页查询select * from ORDER_DTL limit 10 [offset 5];
· rowkey预分区create table [if not exists] 表名 ( rowkey名称 数据类型 primary key, 列族名.列名1 数据类型, 列族名.列名2 数据类型, ...)compession='GZ' # 指定数据压缩格式split on ('3','5','7'); # 分成4个区
· rowkey加盐预分区create table [if not exists] 表名 ( rowkey名称 数据类型 primary key, 列族名.列名1 数据类型, 列族名.列名2 数据类型, ...)compession='GZ' # 指定数据压缩格式salt_buckets=10; # 分成10个区
· Phoenix 建立视图,映射Hbase中的表# 注意:视图名称需与表名一致,视图列名和hbase列族名 的列限定符 保持一致create view "名称空间"."表名"(pk varchar primary key,"列族名".“列限定符” 数据类型,、、.);
· 全局索引(单独创建索引表,先查索引表再回到目标表查找)# 创建全局索引create index 索引名称 on 表名(列名1, 列名2...);# 删除全局索引drop index 索引名称 on 表名;
· 本地索引(不会单独创建索引表,直接在目标表修改索引字段)# 创建本地索引create local index 索引名称 on 表名(列名1, 列名2 、、.)# 删除本地索引drop index 索引名称 on 表名;
· 覆盖索引(无法单独使用,配合以上索引使用,查询时不用去目标表查询,直接从全局/本地索引中获取出数据)# 创建覆盖索引creare [local] index 索引名称 on 表名(列名1, 列名2...) include(列名3)# 删除覆盖索引,得和前者索引一起删才行drop index 索引名称 on 表名;