HBase集成Phoenix,构建Phoenix view和table的区别
Posted HBase技术社区
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HBase集成Phoenix,构建Phoenix view和table的区别相关的知识,希望对你有一定的参考价值。
Apache Phoenix 官方站点:
https://phoenix.apache.org/
Phoenix支持的sql语句:
https://phoenix.apache.org/language/index.html
Phoenix 支持的DataTypes:
https://phoenix.apache.org/language/datatypes.html
Phoenix 支持的函数:
https://phoenix.apache.org/language/functions.html
0. 软件版本下载
http://mirror.bit.edu.cn/apache/phoenix/
1. 集群环境
Master 192.168.40.130
Slave1 192.168.40.131
Slave2 192.168.40.132
2. 下载软件包
#Master
wget http://mirror.bit.edu.cn/apache/phoenix/apache-phoenix-4.14.0-HBase-1.3/bin/apache-phoenix-4.14.0-HBase-1.3-bin.tar.gz
tar zxvf apache-phoenix-4.14.0-HBase-1.3-bin.tar.gz
3. 配置环境变量
#vim /etc/profile
#set phoenix environment
export PHOENIX_HOME=/usr/local/src/apache-phoenix-4.14.0-HBase-1.3-bin
PATH=${PHOENIX_HOME}/bin:$PATH
#安装 python-argparse 解析模块
yum install python-argparse
4. 分发phoenix的驱动
参考:https://phoenix.apache.org/Phoenix-in-15-minutes-or-less.html
#master
#phoenix-4.14.0-HBase-1.3-server.jar
cd /usr/local/src/apache-phoenix-4.14.0-HBase-1.3-bin
cp phoenix-4.14.0-HBase-1.3-server.jar /usr/local/src/hbase-1.3.1/lib/
scp phoenix-4.14.0-HBase-1.3-server.jar root@slave1:/usr/local/src/hbase-1.3.1/lib/
scp phoenix-4.14.0-HBase-1.3-server.jar root@slave2:/usr/local/src/hbase-1.3.1/lib/
5.重启Hbase
cd /usr/local/src/hbase-1.3.1/bin
./stop-hbase.sh
./start-hbase.sh
6.验证
6.1 hbase建表
cd usr/local/src/hbase-1.3.1/bin
hbase shell
create 'person','basicinfo'
put 'person','1', 'basicinfo:name', 'uwoer'
put 'person','1', 'basicinfo:age', '24'
scan 'person'
6.2 phoenix登录
cd /usr/local/src/apache-phoenix-4.14.0-HBase-1.3-bin/bin
sqlline.py localhost 或 sqlline.py master,slave1,slave2:2181
6.3 创建 view
create view "person" ("ROW" varchar primary key,"basicinfo"."name" varchar,"basicinfo"."age" varchar);
select * from "person";
#创建完视图后再次查看hbase中表的信息
#view只读验证
UPSERT INTO "person" VALUES('1','uwo','30');
#phoenix 中删除视图
drop view "person";
#再次查看hbase中表的信息 person 依然存在
7.创建table
phoenix 中创建映射表
create table "person" ("ROW" varchar primary key,"basicinfo"."name" varchar,"basicinfo"."age" varchar);
select * from "person";
#创建完表后再次查看hbase中表的信息
多了一个映射信息:column=basicinfo:_0
#phoenix 中写验证
UPSERT INTO "person" VALUES('1','uwo','30');
select * from "person";
这个时候如果在phoenix 删除表会同时删除hbase中的表
总结: view无法upsert ,table可以upsert
phoenix和hbase中非字符串类型的字段映射会有些问题,在通过api写数据的时候需要经过特殊处具体情况参考
HBase和Phoenix的类型转换 :https://blog.csdn.net/rewerma/article/details/80254876
中国HBase技术社区第二届MeetUp
在7月21号,北京线下召开,
线下和直播报名,详情查看以下
长按下面的二维码加入HBase技术社区微信群
以上是关于HBase集成Phoenix,构建Phoenix view和table的区别的主要内容,如果未能解决你的问题,请参考以下文章
CDH6.3.2 启用Kerberos 集成使用phoenix
CDH6.3.2 启用Kerberos 集成使用phoenix