hbase集成phoenix

1.环境

环境准备

  1. 三台节点
  2. zookeeper三节点
  3. hadoop三节点
  4. hbase三节点

2.pheonix集成

官网下载地址,需挂梯子,使用官网推荐的对应hbase版本即可

bash 复制代码
https://phoenix.apache.org/download.html

下载及解压

bash 复制代码
wget https://dlcdn.apache.org/phoenix/phoenix-5.2.0/phoenix-hbase-2.5.0-5.2.0-bin.tar.gz
tar -zxvf phoenix-hbase-2.5.0-5.2.0-bin.tar.gz
mv phoenix-hbase-2.5.0-5.2.0-bin phoenix-hbase

修改 /etc/profile 环境变量

bash 复制代码
export PHEONIX_HOME=/root/phoenix-hbase
export PHEONIX_CLASSPATH=$PHEONIX_HOME
export PATH=$PHEONIX_HOME/bin:$PATH

配置资源重载

bash 复制代码
source /etc/profile

拷贝解压包内服务端jar至hbase/lib目录

bash 复制代码
cp phoenix-server-hbase-2.5.0-5.2.0.jar ../hbase/lib/

三台节点均配置

3. 开启二级索引

修改 hbase-site.xml

bash 复制代码
<property>
	<name>hbase.regionserver.wal.codec</name>
	<value>org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec</value>
</property>

三台节点均配置

4.启动pheonix

重启hbase

bash 复制代码
./stop-hbase.sh
bash 复制代码
./start-hbase.sh

单机具体重启看上篇hbase文章

这里连接的是zookeeper地址,默认使用2181端口

bash 复制代码
sqlline.py node1,node2,node3

执行语句即可

bash 复制代码
CREATE TABLE IF NOT EXISTS "student"(
id VARCHAR primary key,
name VARCHAR,
age BIGINT,
addr VARCHAR
);

5.索引

5.1.全局索引

bash 复制代码
create index index_name on my_table(column);

在查询列只有column时快,在hbase中会单独开索引表使用一行存储,有其他列需回表

如 select columns from my_table where columns =xxx

5.2.包含索引

bash 复制代码
create index index_name on my_table(column1) include(column2);

在查询列只有 column1或column2 都快,在hbase中一条数据会使用两行存储

phoenix语法-官网

bash 复制代码
https://phoenix.apache.org/language/index.htm

5.3 本地索引

bash 复制代码
create local index index_name on my_table(columns);

columns可多个

适用于写操作频繁,会将所有信息放在一个影子列族中,读取也是范围扫描但是没有全局索引快,会直接在表中修改,不用单独创建索引表

后续命令行或者使用客户端连接即可

相关推荐
骑士雄师2 分钟前
rag的具体案例:通过es在意图识别的时候进行个命中。
大数据·elasticsearch·搜索引擎
浪子明X2 分钟前
MongoDB 迁移方案评审:用双写窗口和回放样本控制切换风险
数据库·mongodb
stark张宇6 分钟前
InnoDB锁机制全景图:全局锁、表锁、行锁、意向锁到底怎么用?
数据库·后端
坊钰16 分钟前
【LangChain框架入门级】10. 文本向量与向量数据库(Embedding / Redis / Pinecone / MMR)
数据库·python·langchain·embedding
Omics Pro27 分钟前
研究证实AI虚拟细胞可用于药物靶点发现
数据库·人工智能·算法·机器学习·自然语言处理
好奇的菜鸟31 分钟前
GORM 入门(二):从 database/sql 平滑过渡到 GORM
数据库·sql
柏慧通云报餐31 分钟前
智慧食堂食材溯源数字化方案|采购 - 入库 - 餐桌全链路记录体系落地实践
大数据·运维·人工智能
QEasycloud38 分钟前
平台补贴的会计处理:总额法 vs 净额法的判定与对账影响
大数据·人工智能
用户36105886261244 分钟前
Flink 窗口聚合函数详解及代码实现:从 ReduceFunction 到增量聚合 + ProcessWindowFunction 组合
大数据·flink
长春的KAKA44 分钟前
GitLab 项目页面报 500 错误的完整修复记录:PostgreSQL 数据库损坏、统计表缺失及数据库迁移
数据库·postgresql·gitlab