前言
Phoenix 是一个开源的分布式关系型数据库查询引擎,它基于 Apache HBase构建。它提供了在 Hadoop 生态系统中使用 SQL查询和事务处理的能力。本节内容我们主要介绍一下Hbase如何集成部署安装Phoenix服务工具,并集成hive框架,能够快速、灵活和可扩展的方式来在Hadoop生态系统中进行 SQL 查询和事务处理。
正文
①上传Phoenix部署安装包到hadoop101服务器/opt/software目录下
②将Phoenix安装包解压到/opt/module目录
tar -zxvf phoenix-hbase-2.4-5.1.2-bin.tar.gz -C /opt/module
③进入/opt/module/phoenix-hbase-2.4-5.1.2-bin安装包目录将phoenix-server-hbase-2.4-5.1.2.jar拷贝到hbase的lib目录下
④分发hbase的lib目录下phoenix-server-hbase-2.4-5.1.2.jar到hadoop102、hadoop103节点
⑤配置phoenix系统环境变量
⑥使环境变量配置生效
source /etc/profile.d/my_env.sh
⑦重启hbase服务,使phoenix服务生效
⑧连接phoenix客户端,访问hbase
/opt/module/phoenix-hbase-2.4-5.1.2-bin/bin/sqlline.py hadoop101,hadoop102,hadoop103:2181
⑨操作phoenix客户端,完成一些基本操作案例
创建表student
CREATE TABLE IF NOT EXISTS student(
id VARCHAR primary key,
name VARCHAR,
age BIGINT,
addr VARCHAR);
插入数据
upsert into student values('1001','zhangsan', 10, 'beijing');
查询student表数据
select * from student;
*phoenix客户端查询
*hbase客户端查询
删除记录
delete from student where id='1001';
删除表
drop table student;
⑩ phoenix通过视图映射或者表映射连接hbase中创建的表
- 在hbase中创建一个test表
创建视图映射,只能查看,不能写操作
create view "test"(
id varchar primary key,
"info1"."name" varchar,
"info2"."address" varchar);
创建表映射,可读写
create table
"test"(id varchar primary key,"info1"."name" varchar,
"info2"."address" varchar) column_encoded_bytes=0;
⑪hbase集成hive,在 hive-site.xml中添加zookeeper的配置,用于读取metabase数据
配置文件
<property> <name>hive.zookeeper.quorum</name> <value>hadoop101,hadoop102,hadoop103</value> </property> <property> <name>hive.zookeeper.client.port</name> <value>2181</value> </property>
⑫ 在hive中创建一张表并关联hbase
CREATE TABLE hive_hbase_emp_table( empno int, ename string, job string, mgr int, hiredate string, sal double, comm double, deptno int ) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,info:ename,info:job,info:mgr,info:hiredate,info:sal,info:comm,info:deptno") TBLPROPERTIES ("hbase.table.name" = "hbase_emp_table");
⑬ 在hbase中生成了hbase_emp_table表,这样在操作hive表数据时可将hive的数据同步到hbase中
结语
关于HBase集成部署安装Phoenix的内容以及使用Phoenix客户端操作hbase数据库和集成hive的内容到这里就结束了,我们下期见。。。。。。