安装Phoenix
约定安装到/opt目录下面,并配置好Phoenix的环境变量,且要source一下。
编辑vi /etc/profile.d/bigdata-etc.sh
# Phoenix Profile
export PHOENIX_HOME=/opt/phoenix
export PATH=$PATH:$PHOENIX_HOME/bin
source:
source /etc/profile.d/bigdata-etc.sh
解压:
soft]# tar -zxvf phoenix-4.13.1-HBase-1.2-bin.tar.gz -C ../
重命名 opt]# mv phoenix-4.13.1-HBase-1.2 phoenix
拷贝phoenix目录下面jar包到regionserver机器的lib($HBASE_HOME/lib)目录
phoenix]# scp *.jar root@LENOVO02:/opt/hbase/lib/
phoenix]# scp *.jar root@LENOVO03:/opt/hbase/lib/
重启regionserver 一般在第二 和 第三的机器
hbase-daemon.sh stop regionserver
hbase-daemon.sh start regionserver
****************************************************************
将phoenix中的client拷贝到hbase的lib目录中,重启master
phoenix]# cp phoenix-4.13.1-HBase-1.2-client.jar /opt/hbase/lib/
另外,为了防止出错,将phoenix-4.13.1-HBase-1.2-client.jar添加到HBASE_CLASSPATH
vim /opt/hbase/conf/hbase-env.sh
export HBASE_CLASSPATH=/opt/hbase/lib/phoenix-4.13.1-HBase-1.2-client.jar
启动(python,命令行客户端,效果类似于:hiveserver的beeline客户端)
前提(在线安装python依赖的环境,详见:https://www.cnblogs.com/zlslch/p/7409852.html):
yum install python-argparse
执行sqlline.py LENOVO01:2181
操作
输入help,查看帮助
输入!tables 显示所有表,包括系统表和用户表。
注意:①此处只会显示系统表,以及通过Phonix客户端所创建的表,这个表也就是HBase中的表。
②而HBase中的历史表信息不会显示出来。
表的CRUD
a)创建
create table p1(id bigint not null primary key, name varchar);
在hbase中也会产生P1表,是大写,字段也是大写。如果查看列族的话,默认列族名称是0。
char: 定长字符型
varchar:变长字符串型
注意:
只有主键列可以添加非空约束,否则报错
Error: ERROR 517 (42895): Invalid not null constraint on non primary key column. columnName=TB_PEOPLE.NAME (state=42895,code=517)
如果小写,使用双引号引起来。如果指定列族,使用CF.name,这里的CF必须是大写,小写无效。
create table "p1"(id bigint not null primary key, CF.name varchar);
b)插入
create table "user"(id bigint not null primary key, CF.account varchar,CF.pwd char(6));
upsert into "user"(id, account, pwd) values(1, 'admin', '111111');
重复插入的话,会覆盖(就是更新操作),而不会报错。这里使用单引号,不能使用双引号。
单引号: 用来指定字符串值
双引号:用来定制表名或是字段名的书写方式(默认是:大写)
upsert into "tb_people" values(1,'独孤求败');
upsert into "tb_people" values(1,'斯瓦辛格');
c)查询
select * from "user";
d)删除
delete from "user" where id=1;
drop table "user";