phoenix-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jesse Yates <>
Subject Re: Select dynamic column content
Date Tue, 06 Jan 2015 17:43:09 GMT
You wouldn't even need another table, just a single VARCHAR[] column to
keep the column names. Its ideal to keep it in the same row (possibly in
another cf if you expect it to be large) since you get ACID compliance on
that row, which you wouldn't get from using another table. You then just
upsert the names column at the same time you upsert the dynamic columns.

Phoenix does something similar for tracing where there is an unknown number
of annotations - we keep a trace annotation count column which then can be
used to figure out the dynamic annotation column names (which are things
like annotations.a0, .a1, .a2, etc)

The downside is that you then need to do two queries to get all the
columns, but until we implement the cf.* logic for dynamic columns, that's
the best you can do.

- jesse

On Tue, Jan 6, 2015, 9:23 AM Sumanta Gh <> wrote:

> Thanks Nicolas for replying.
> I am already managing dynamic column names either putting them in a
> separate column or keeping the names in cache.
> But looking at the pace Phoenix is evolving, IMHO this cf.* query pattern
> would be very much helpful for users.
> The stock HBase client is capable of doing that.
> Because my table is extremely sparsed and I allow quite a random schema in
> every row of the table, getting the content of the dynamic column in a
> single query will save lot of time.
> Looking forward to your completion of the work...
> Regards
> Sumanta
> -----Nicolas Maillard <> wrote: -----
> To:
> From: Nicolas Maillard <>
> Date: 01/06/2015 03:08PM
> Subject: Re: Select dynamic column content
> Hello Sumanta
> This is a last bit missing in the select cf.* query pattern that would
> bring back not only known columns but all dynamic ones also. I never got
> around to finishing that bit for different reasons. The best way would be
> to finish that, other than that I do not see an easy way to retrieve
>  dynamic columns of which you have lost the column name. I guess if there
> is a logic ti these column names you could try to reconstruct or keep a
> second table of keys to dynamic column names to find them in the after math.
> regards
> On Tue, Jan 6, 2015 at 8:01 AM, Sumanta Gh <> wrote:
>> Hi,
>> It has been a puzzle for me to get the content of dynamic columns in a
>> single SELECT * FROM query.
>> Challenge is that I do not know the dynamic column names in advance so I
>> can not mention a dynamic column in the SELECT query.
>> Is there any way out? Please suggest.
>> Regards
>> Sumanta
>> =====-----=====-----=====
>> Notice: The information contained in this e-mail
>> message and/or attachments to it may contain
>> confidential or privileged information. If you are
>> not the intended recipient, any dissemination, use,
>> review, distribution, printing or copying of the
>> information contained in this e-mail message
>> and/or attachments to it are strictly prohibited. If
>> you have received this communication in error,
>> please notify us by reply e-mail or telephone and
>> immediately and permanently delete the message
>> and any attachments. Thank you
> --
> Nicolas Maillard Solution Engineer
> Phone:     +33 (0)6 68 17 66 05
> Email:      nmaillard** <>
> Website:
> NOTICE: This message is intended for the use of the individual or entity
> to which it is addressed and may contain information that is confidential,
> privileged and exempt from disclosure under applicable law. If the reader
> of this message is not the intended recipient, you are hereby notified that
> any printing, copying, dissemination, distribution, disclosure or
> forwarding of this communication is strictly prohibited. If you have
> received this communication in error, please contact the sender immediately
> and delete it from your system. Thank You.

View raw message