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