phoenix-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Shawn Li <shawnli...@gmail.com>
Subject Re: column mapping schema decoding
Date Wed, 02 Jan 2019 23:52:49 GMT
Hi Jaanai and Pedro,

Any input for my example?

Thanks,
Shawn

On Thu, Dec 27, 2018, 12:34 Shawn Li <shawnlijob@gmail.com wrote:

> Hi Jaanai,
>
> Thanks for the input. So the encoding schema is not simple first come
> first assigned (such as in my example: A.population -> 1, A.type -> 2;
> B.zipcode -> 1, B.quality ->2)? In order to decode it, we will have to
> use QualifierEncodingScheme class? The reason we want to use the column
> mapping is because the improvement of query performance mentioned on
> Phoenix website.  We have tables with columns number between 100 to 200.
>
> Thanks,
> Shawn
>
> On Thu, Dec 27, 2018 at 2:22 AM Jaanai Zhang <cloud.poster@gmail.com>
> wrote:
>
>> The actual column name and encoded qualifier number are stored in SYSTEM.CATALOG
>> table, the field names are COLUMN_NAME(string) and COLUMN_QUALIFIER(binary)
>> respectively, QualifierEncodingScheme can be used to decode/encode
>> COLUMN_QUALIFIER, but this is a little complicated process.
>>
>> For your scenario, maybe use the original column is better.
>>
>>
>>
>>
>> ----------------------------------------
>>    Jaanai Zhang
>>    Best regards!
>>
>>
>>
>> Shawn Li <shawnlijob@gmail.com> 于2018年12月27日周四 上午7:17写道:
>>
>>> Hi Pedro,
>>>
>>> Thanks for reply. Can you explain a little bit more? For example, if we
>>> use COLUMN_ENCODED_BYTES = 1,How is the following table DDL converted
>>> to numbered column qualifier in Hbase? (such as A.population maps which
>>> number, B.zipcode Map to which number in Hbase)
>>>
>>> CREATE TABLE IF NOT EXISTS us_population (
>>>       state CHAR(2) NOT NULL,
>>>       city VARCHAR NOT NULL,
>>>       A.population BIGINT,
>>>       A.type CHAR,
>>>       B.zipcode CHAR(5),
>>>       B.quantity INT CONSTRAINT my_pk PRIMARY KEY (state, city));
>>>
>>>
>>> Thanks,
>>> Shawn
>>>
>>> On Wed, Dec 26, 2018 at 6:00 PM Pedro Boado <pboado@apache.org> wrote:
>>>
>>>> Hi,
>>>>
>>>> Column mapping is stored in SYSTEM.CATALOG table . There is only one
>>>> column mapping strategy with between 1 to 4 bytes to be used to represent
>>>> column number. Regardless of encoded column size, column name lookup
>>>> strategy remains the same.
>>>>
>>>> Hope it helps,
>>>>
>>>> Pedro.
>>>>
>>>>
>>>>
>>>> On Wed, 26 Dec 2018, 23:00 Shawn Li <shawnlijob@gmail.com wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> Phoenix 4.10 introduced column mapping feature. There are four types
>>>>> of mapping schema (https://phoenix.apache.org/columnencoding.html).
>>>>> Is there any documentation that shows how to encode/map string column
name
>>>>> in Phoenix to number column qualifier in Hbase?
>>>>>
>>>>> We are using Lily Hbase indexer to do the batch indexing. So if the
>>>>> column qualifier is number. We need find a way to decode it back to the
>>>>> original String column name.
>>>>>
>>>>> Thanks,
>>>>> Shawn
>>>>>
>>>>

Mime
View raw message