Phoenix定义
Phoenix是HBase的开源SQL皮肤。可以使用标准JDBC API代替HBase客户端API来创建表,插入数据和查询HBase数据。
Phoenix特点
1)容易集成:如Spark,Hive,Pig,Flume和Map Reduce;
2)操作简单:DML命令以及通过DDL命令创建和操作表和版本化增量更改;
3)支持HBase二级索引创建。
安装
0)安装bsdtar3
sudo yum install -y epel-release
sudo yum install -y bsdtar3
1)上传并解压tar包(这里可能会报不识别的文件头,忽略即可,或者可以改用bsdtar)
tar -zxvf /opt/software/apache-phoenix-5.0.0-HBase-2.0-bin.tar.gz -C /opt/module
mv apache-phoenix-5.0.0-HBase-2.0-bin phoenix
2)复制server包并拷贝到各个节点的hbase/lib
3)复制client包并拷贝到各个节点的hbase/lib
cp phoenix-5.0.0-HBase-2.0-client.jar /opt/module/hbase/lib/
cp phoenix-5.0.0-HBase-2.0-server.jar /opt/module/hbase/lib/
4)配置环境变量
#phoenix
export PHOENIX_HOME=/opt/module/phoenix
export PHOENIX_CLASSPATH=$PHOENIX_HOME
export PATH=$PATH:$PHOENIX_HOME/bin
5)启动Phoenix
sqlline.py hadoop102,hadoop103,hadoop104:2181
thin client
queryserver.py stop/start
Phoenix Shell操作
1)显示所有表
!table 或 !tables
2)创建表
直接指定单个列作为RowKey
create table if not exists student(id integer primary key, name varchar);
在phoenix中,表名等会自动转换为大写,若要小写,使用双引号,如"us_population"。
指定多个列的联合作为RowKey
CREATE TABLE IF NOT EXISTS us_population (
State CHAR(2) NOT NULL,
City VARCHAR NOT NULL,
Population BIGINT
CONSTRAINT my_pk PRIMARY KEY (state, city));
3)插入数据