Phoenix的基本介绍
Phoenix是一款apache旗下的开源的 基于hbase可以使用SQL的方式来查询hbase数据的工具
Phoenix的出现主要目的就是为了能够让我们通过另一种方式(SQL)来操作hbase, 同时Phoenix对hbase也进行各种的优化操作, 能够让我们更加高效的操作hbase中数据
Phoenix的安装
容易犯错的点:
1) Phoenix的jar包没有拷贝到hbase的lib目录中, 或者说没有將Phoenix分发到各个hbase的lib目录
2) 没有将hbase-site.xml放置到Phoenix的bin目录下 : 注意 Phoenix的bin目录本身就有一个hbase-site.xml
一定要打开文件, 看一下内容
3) 在重启hbase的时候, 如果第一次没有启动成功, 建议直接 kill 掉, 然后重启, 如果重启依然失败的, 建议查看关于Phoenix的配置, 看看那个位置配置错误了。
Phoenix的基本入门操作
- 如何在Phoenix中创建表
格式:
create table [if not exists] 名称空间.表名 (
rowkey名称 数据类型 primary key,
列族名1.列名1 数据类型,
列族名1.列名2 数据类型,
列族名2.列名1 数据类型,
....
);
注意事项:
整个表的第一个字段必须是主键字段, 主键字段必须添加主键约束: primary key
案例:
create table order_dtl (
id varchar primary key,
c1.status varchar ,
c1.money integer,
c1.pay_way integer,
c1.user_id varchar,
c1.operation_time varchar,
c1.category varchar
);
说明: Phoenix在创建表的时候, 自动将表名 列族名 字段名变更为大写, 以及包括在执行各种操作的时候,
不管你写的时候小写还大写, 统一安装大写来处理
思考: 假设目前就想使用小写方式来构建表, 如何做呢? 只需要给需要小写内容添加 双引号
双引号: 在Phoenix表示按照指定的格式进行处理
单引号: 在Phoenix中表示的是字符串
create table "order_dtl_01" (
"id" varchar primary key,
c1.status varchar ,
c1."money" integer,
c1.pay_way integer,
"c1".user_id varchar,
"c1"."operation_time" varchar,
c1.category varchar
);
注意: 一旦使用小写来构建对应内容, 在使用这个小写的内容的时候, 必须是用双引号包裹, 否则Phoenix自动转换为大写
- 查询当前Phoenix中有那些表
!table
-
- 如何查看某一个表的详细结构信息
格式: !