phoenix初探,与hbase结合

Phoenix是什么 ?

官方说:“We put the SQL back to NoSQL”
也就是说,Phoenix是对NoSQL提供SQL支持的工具。

当然对Hbase肯定也支持,它可以使用标准JDBC API代替HBase客户端API来创建表,插入数据和查询HBase数据。

特点

  1. 容易集成:如对Spark,Hive,Pig,Flume和Map Reduce等都有很好的集成。
  2. 操作简单:DML命令以及通过DDL命令创建和操作表和版本化增量更改。
  3. 完美支持Hbase二级索引创建

作用

可以把hbase中的表更直观的展示出来,并且便于管理
比如:
在这里插入图片描述
在这里插入图片描述

安装与部署

官方网址: http://phoenix.apache.org/index.html
1.去官网下载对应自己Hbase 的版本
我的是1.3.1
在这里插入图片描述

2.然后解压
3.复制Phoenix目录下的server和client这俩个包通过SCP拷贝到其他各个节点的hbase/lib
在这里插入图片描述

scp phoenix-4.14.2-HBase-1.3-server.jar mini2:/bigdata/hbase/lib/
scp phoenix-4.14.2-HBase-1.3-client.jar mini2:/bigdata/hbase/lib/
其他机器类似…
本机有hbase也要复制
cp phoenix-4.14.2-HBase-1.3-server.jar /bigdata/hbase/lib/

4.设置环境变量:
给/etc/profile 加入
export PHOENIX_HOME=/opt/module/phoenix
export PHOENIX_CLASSPATH= $PHOENIX_HOME
export PATH= $PATH:$PHOENIX_HOME/bin
5.启动Zookeeper,Hadoop,Hbase,以及Phoenix
命令为:sqlline.py mini1,mini2,mini3:2181
效果如下:
在这里插入图片描述

基本命令操作

1.查看有多少表
!table
(我提前建有几个,刚安装好只有系统的前五张)
在这里插入图片描述
2.新建表

CREATE TABLE IF NOT EXISTS student ( 
firstname CHAR(2) NOT NULL,
lastname VARCHAR NOT NULL,
age BIGINT
CONSTRAINT my_pk PRIMARY KEY (firstname , lastname ));

在这里插入图片描述
在phoenix中,默认情况下,表名等会自动转换为大写,若要小写,加双引号,如"student"

3.插入数据

upsert into student values('xx','john',17);

4.查询数据

select * from student ;

在这里插入图片描述
在Hbase中这条数据长这样,因为我指定了 PRIMARY KEY (firstname , lastname ));
两者共同构成了RowKey
在这里插入图片描述
5 删除操作
删除一条数据

delete from student where firstname='xx';

删除表

drop table student ;

6.退出界面

!quit
©️2020 CSDN 皮肤主题: 精致技术 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值