博客园 首页 私信博主 显示目录 隐藏目录 管理 动画

phoenix 建表无法映射hbase已有字段的问题解决

1.插入的值如果是字符串的话,必须要用单引号括起来,不能用双引号
2.建表的时候如果要想小写的话,必须要用双引号括起

插入:upsert into "test"  values('002','Jack','Ma','ali','hangzhou');

更新:upsert into "test"(empid,"name","address") values('002','Ali','Hangzhou')

 

index ::CREATE INDEX "my_index" ON "test" ("company"."name");

 

phoenix 建表无法映射hbase已有字段的问题解决(开启namespace后出现的问题)

 
 

phoenix版本:4.13.2-cdh5.11.2

遇到问题:当开启phoenix namespace功能之后,在phoenix中映射已有hbase的数据时,出现phoenix建表时不能匹配hbase表已有字段的问题:

如图:

hbase的字段NT_SALE_ORDER_ID没有被映射过来

解决,这里有两种解决办法:

1、在建表时添加参数“COLUMN_ENCODED_BYTES = 0”

例:

CREATE TABLE NT_SALE_ORDER(

id VARCHAR NOT NULL PRIMARY KEY, 

"info"."NT_SALE_ORDER_ID" VARCHAR)

COLUMN_ENCODED_BYTES = 0;

2、在phoenix client的hbase-site.xml中添加配置,

<property>

<name>phoenix.default.column.encoded.bytes.attrib</name>

<value>0</value>

</property>

最后测试:

上边解决方法任意一种都可以,统一把控可直接在hbase-site.xml做统一配置

参考:https://phoenix.apache.org/columnencoding.html

posted @ 2022-04-29 21:14  CHANG_09  阅读(268)  评论(0)    收藏  举报