我正在尝试使用Apache Phoenix在HBase表上运行SQL查询。基于official documetation,需要使用SQL查询为现有表创建模式:
CREATE TABLE TABLE_NAME (....)
我试图通过phoenix API直接连接到现有表(使用HBase API创建)来避免这种情况,但我得到了例外。 问题是当Phoenix执行此查询时,它会在桌面上创建很多东西。例如,在hbase仪表板的表部分中,我可以看到phoenix将以下元数据添加到我的表中:
'QUOTES', {METHOD => 'table_att', coprocessor$1 => '|org.apache.phoenix.coprocessor.ScanRegionObserver|1|', coprocessor$2 => '|org.apache.phoenix.coprocessor.UngroupedAggregateRegionObserver|1|', coprocessor$3 => '|org.apache.phoenix.coprocessor.GroupedAggregateRegionObserver|1|', coprocessor$4 => '|org.apache.phoenix.coprocessor.ServerCachingEndpointImpl|1|', coprocessor$5 => '|org.apache.phoenix.hbase.index.Indexer|1073741823|index.builder=org.apache.phoenix.index.PhoenixIndexBuilder,org.apache.hadoop.hbase.index.codec.class=org.apache.phoenix.index.PhoenixIndexCodec'}, {NAME => '0', DATA_BLOCK_ENCODING => 'FAST_DIFF', KEEP_DELETED_CELLS => 'true'}
听起来pheonix正在改变表的元信息(它创建了一些协处理器和索引构建器),这是否会产生生产问题(干扰使用HBase API的代码)?如果是这样如何避免它?