这是因为 Phoenix 无法自动识别 HBase 中原有的表,所以需要将 HBase 中已有的做映射,才能够被 Phoenix 识别并操作。说白了就是要需要告诉 Phoenix 一声 xx 表的 xx 列是主键,xx 列的数据类型。
二.如果进行映射?
这里我从用 hbase shell 创建一个表开始,来展示如何做映射。
1.创建一个 HBase 表并插入一定量数据
create 'test_table','0'
put 'test_table', 'row001','0:name','Jane'
put 'test_table', 'row002','0:name','Tom'
put 'test_table', 'row003','0:name','Bill'
另外,根据官方文档的内容,“One can set the column mapping property only at the time of creating the table. ”,也就是说只有在创建表的时候才能够设置属性。如果在创建的时候没有设置,之后怎么去设置就不太清楚了,可能是无法改变,至少目前我还没有找到相关方法。所以大家在创建映射表的时候一定要注意设置属性。