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

相关推荐
今晚务必早点睡4 小时前
微服务改数据库密码后服务仍能访问?一次“看似异常、实则常见”的生产现象全解析
数据库·微服务·oracle
老师我太想进步了20265 小时前
cmd连接MySQL及相关查询
数据库·mysql
kk哥88996 小时前
如何快速掌握JavaSE的核心语法?
java
我是一只小青蛙8886 小时前
AVL树:平衡二叉搜索树原理与C++实战
java·jvm·面试
浩瀚地学6 小时前
【Java】JDK8的一些新特性
java·开发语言·经验分享·笔记·学习
XXOOXRT7 小时前
基于SpringBoot的加法计算器
java·spring boot·后端·html5
阿崽meitoufa7 小时前
JVM虚拟机:垃圾收集器和判断对象是否存活的算法
java·jvm·算法
我是苏苏8 小时前
C#高级:使用ConcurrentQueue做一个简易进程内通信的消息队列
java·windows·c#
難釋懷8 小时前
Redis命令-Set命令
数据库·redis·缓存