通过HbaseClient来写Phoenix表实现

由于数据存储在Hbase上,并且上层使用了Phoenix来读写数据。并且由于数据的列字段不固定,并且可能由于Hbase表列和Phoenix的表列字段不一致,使用Phoenix写入的数据会导致写出报错的问题出现。所以这里直接使用HbaseClient写入到Hbase表中,再使用Phoenix查询就能查询到数据。

sql 复制代码
CREATE TABLE IF NOT EXISTS MIS_TEST.TEST_INSERTINTO2 (
 "rowkey" VARCHAR PRIMARY KEY,
 "info"."ID" VARCHAR,
 "info"."NAME" VARCHAR, 
 "info"."DATA_DATE" VARCHAR
) COLUMN_ENCODED_BYTES=0;

建表语句如上,其中 COLUMN_ENCODED_BYTES = 0是表示禁用Phoenix表的列映射,并且不加的话,会导致Phoenix写入的和HbaseClient写入的,字段的编码不一致,导致Phoenix读取的时候读取不到数据。

参考文章:

Storage Formats | Apache Phoenix

Phoenix 关联映射 Hbase表 获取不到数据,upsert hbase 列名为16进制字符_wx5ae1cd41f3d21的技术博客_51CTO博客

解决Hbase数据更新Phoenix对应索引表不更新问题_TracyGao01的博客-CSDN博客

相关推荐
WeiLai11121 小时前
面试基础--Redis 缓存穿透、缓存击穿、缓存雪崩深度解析
java·redis·分布式·后端·缓存·面试·架构
zctel1 小时前
java中小型公司面试预习资料(二):Redis
java·redis·面试
月落星还在1 小时前
Redis 的过期策略与键的过期时间设置
数据库·redis·bootstrap
爱吃烤鸡翅的酸菜鱼2 小时前
Java【网络原理】(3)网络编程续
java·运维·服务器·网络
酒酿祺子4 小时前
蓝队第三次
sql
cg50174 小时前
MySQL数据库复杂的增删改查操作
数据库·mysql
虾球xz5 小时前
游戏引擎学习第147天
数据库·学习·游戏引擎
╰つ゛木槿6 小时前
Spring Boot 调用DeepSeek API的详细教程
java·spring boot·后端·deepseek
向上的车轮6 小时前
什么是时序数据库?有哪些时序数据库?常见的运用场景有哪些?
数据库·时序数据库
hhw1991127 小时前
c#面试题整理6
java·开发语言·c#