7 phoenix
7.1 phoenix简介
Phoenix是Hbase开源的SQL皮肤,可以用标准的JDBC API来代替HBase客户端API来创建表、插入数据和查询Hbase数据。
特点:
- 容易集成:如Spark、Hive、Flume、MR
- 操作简单:DML命令以及DDL命令
- 支持HBase二级索引
7.2 phoenix的安装配置
步骤1:上传安装包到/opt/software
步骤2:解压安装包到/opt/module/
[atguigu@hadoop102 software]$ tar -zxvf apache-phoenix-5.0.0-HBase-2.0-bin.tar.gz -C /opt/module/
# 修改文件名
[atguigu@hadoop102 module]$ mv apache-phoenix-5.0.0-HBase-2.0-bin/ phoenix
步骤3:复制server包并拷贝到各个节点的hbase/lib下
[atguigu@hadoop102 phoenix]$ cp /opt/module/phoenix/phoenix-5.0.0-HBase-2.0-server.jar /opt/module/hbase/lib/
[atguigu@hadoop102 phoenix]$ xsync /opt/module/hbase/lib/phoenix-5.0.0-HBase-2.0-server.jar
步骤4:配置环境变量
#phoenix
export PHOENIX_HOME=/opt/module/phoenix
export PHOENIX_CLASSPATH=$PHOENIX_HOME
export PATH=$PATH:$PHOENIX_HOME/bin
步骤5:重启HBase
提前启动HDFS
[atguigu@hadoop102 phoenix]$ start-hbase.sh
步骤6:连接Phoenix
[atguigu@hadoop102 phoenix]$ bin/sqlline.py hadoop102,hadoop103,hadoop104:2181
7.3 phoenix可视化工具
步骤1:解压squirrel-sql-3.9.1.zip
步骤2:解压后的目录下运行squirrel-sql.bat
步骤3:添加驱动类:
Example URL=jdbc:phoenix:hadoop102,hadoop103,hadoop104:2181
ClassName=org.apache.phoenix.jdbc.PhoenixDriver
步骤4:创建连接
步骤5:连接后,查看数据库对象
步骤6:执行sql语句
这就相当于:执行HBase中的
create ‘user_statis2020’, ‘state=if_consumed’
其中user_id varchar primary key,相当于主键
create table user_status2020(user_id varchar primary key, state.if_consumed varchar) SALT_BUCKETS = 3;
SELECT * from user_status2020;
7.4 phoenix shell 操作
①显示所有表
!table
!tables
②创建表
--直接指定单个列作为RowKey
CREATE TABLE IF NOT EXISTS student(
id VARCHAR primary key,
name VARCHAR,
addr 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));
③插入数据
upsert into student values('1001', 'zhangsan', 'beijing');
④查询记录
select * from student;
select * from student where id = '1001';
⑤删除记录
delete from student where id = '1001';
⑥删除表
drop table student;
⑦退出命令行
!quit