Phoenix-一些笔记
sqlline.py使用
连接
1 | ./sqlline.py localhost |
常用命令
显示所有表
!tables
查看表结构
!describe 表名
退出
!quit
查看帮助
!help
建表语句
1 | create table userinfo_c(id varchar primary key,name varchar); |
与Hbase关联
先到 Hbase建表
1 | create 'patient_test','info' |
再创建phoenix表
1 | create table "patient_test"("id" varchar primary key,"info"."name" varchar, "info"."id_number" varchar, "info"."phone" varchar, "info"."sex" varchar, "info"."file_number" varchar, "info"."empi" varchar); |
注意要用 双引号括起来所有的字段和表名,不然关联不了
在 phoenix 上插入一条数据
1 | 0: jdbc:phoenix:> upsert into "patient_test" values( '1000' ,'王五','1234','12345','1','0001',''); |
到 hbase上查询
1 | hbase(main):009:0> scan 'patient_test' |
Hbase
1 | put 'patient_test', '1000','info:sex',1 |
bigint 类型字段会存在 hbase 插入的数据 phoneix读取不了,phoenix插入的数据 hbase读取不正常
1 | 0: jdbc:phoenix:> select * from "patient_test"; |
所以最好所有都用 varchar 存
修改表字段
先删除原表字段再使用新的类型添加回去
1 | ALTER TABLE my_schema.my_table ADD d.dept_id char(10) VERSIONS=10 |
1 | ALTER TABLE my_schema.my_table DROP COLUMN col; |