I don't think so, because it is intentional and this why Phoenix is able manage the performance. They are putting some coprocessors to handle the queries in distributed manner. Thier coprocessor work very closely with HBase native API to speed up things.


On Fri, Sep 5, 2014 at 8:42 PM, Arbi Akhina <arbi.akhina@gmail.com> wrote:

Hi, I'm trying to use Apache Phoenix to run SQL queries on HBase tables. Based on the official documetation, a schema need to be created for existing tables with the SQL query:


I tried to avoid this by directly connecting to an existing table (created with HBase API) through the phoenix API but I was getting exceptions. The thing is when Phoenix executes this query, it creates a lot of things on the table. For instance, in the tables section of the hbase dashboard, I can see the following meta-data added by phoenix to my table:

'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'}

It sounds like pheonix is changing the meta information of the table (it creates some coprocessors and index builders), Is this gone create problems for production (interfer with code that uses HBase API)? if so how to avoid it?

A stackoverflow question


Vikas Agarwal
91 – 9928301411

InfoObjects, Inc. 
Execution Matters
2041 Mission College Boulevard, #280 
Santa Clara, CA 95054
+1 (408) 988-2000 Work
+1 (408) 716-2726 Fax