通过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博客

相关推荐
鱼跃鹰飞3 分钟前
面试题:解释一下什么是全字段排序和rowid排序
数据结构·数据库·mysql
yaoxin5211235 分钟前
292. Java Stream API - 使用构建器模式创建 Stream
java·开发语言
阮松云12 分钟前
code-server 配置maven
java·linux·maven
Aloudata技术团队14 分钟前
完美应对千亿级明细数据计算:Aloudata CAN 双引擎架构详解
数据库·数据分析·数据可视化
Dxy123931021615 分钟前
MySQL连表查询讲解:从基础到实战
数据库·mysql
DemonAvenger16 分钟前
Redis数据迁移与扩容实战:平滑扩展的技术方案
数据库·redis·性能优化
木木木一16 分钟前
Rust学习记录--C11 编写自动化测试
java·学习·rust
bug总结20 分钟前
uniapp+动态设置顶部导航栏使用详解
java·前端·javascript
a努力。24 分钟前
字节跳动Java面试被问:一致性哈希的虚拟节点和数据迁移
java·开发语言·分布式·算法·缓存·面试·哈希算法
qq_3181215924 分钟前
互联网大厂Java面试故事:支付与金融服务微服务架构、消息队列与AI风控全流程解析
java·spring boot·redis·微服务·kafka·支付系统·金融服务