You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@phoenix.apache.org by Camelia Elena Ciolac <ca...@chalmers.se> on 2015/11/01 14:00:28 UTC

Phoenix view over existing HBase table - timestamps

Hello,

I created successfully a view over an existing HBase table, but I'd like to be able to have in it  the versioned cells as in the HBase table.
Now, if I issue the command:

CREATE VIEW "table_HBase" (pk VARCHAR PRIMARY KEY,"colfamily"."coldescriptor" VARCHAR);

it's normal that I can't answer the query:

SELECT "coldescriptor"  FROM "table_HBase" where "timestamp" < 1445934281566 LIMIT 10;

because timestamp column is not part of the view (Error: ERROR 504 (42703): Undefined column. columnName=timestamp (state=42703,code=504)), but it is part of the HBase table.


So what would be the workaround to accessing versioned cells from a HBase table using Phoenix?

Thanks and best regards!
C.

Re: Phoenix view over existing HBase table - timestamps

Posted by James Taylor <ja...@apache.org>.
Also, there's a new 4.6.0 feature available to declare a column in your
primary key as mapping to the Cell timestamp:
https://phoenix.apache.org/rowtimestamp.html

Thanks,
James

On Mon, Nov 2, 2015 at 1:36 PM, Thomas D'Silva <td...@salesforce.com>
wrote:

> Camelia
>
> You can specify the “CurrentSCN” attribute to get values < timestamp.
> See
> http://phoenix.apache.org/faq.html#Can_phoenix_work_on_tables_with_arbitrary_timestamp_as_flexible_as_HBase_API
>
> -Thomas
>
> On Sun, Nov 1, 2015 at 5:00 AM, Camelia Elena Ciolac
> <ca...@chalmers.se> wrote:
> > Hello,
> >
> > I created successfully a view over an existing HBase table, but I'd like
> to
> > be able to have in it  the versioned cells as in the HBase table.
> > Now, if I issue the command:
> >
> > CREATE VIEW "table_HBase" (pk VARCHAR PRIMARY
> > KEY,"colfamily"."coldescriptor" VARCHAR);
> >
> > it's normal that I can't answer the query:
> >
> > SELECT "coldescriptor"  FROM "table_HBase" where "timestamp" <
> 1445934281566
> > LIMIT 10;
> >
> > because timestamp column is not part of the view (Error: ERROR 504
> (42703):
> > Undefined column. columnName=timestamp (state=42703,code=504)), but it is
> > part of the HBase table.
> >
> >
> > So what would be the workaround to accessing versioned cells from a HBase
> > table using Phoenix?
> >
> > Thanks and best regards!
> > C.
>

Re: Phoenix view over existing HBase table - timestamps

Posted by Thomas D'Silva <td...@salesforce.com>.
Camelia

You can specify the “CurrentSCN” attribute to get values < timestamp.
See http://phoenix.apache.org/faq.html#Can_phoenix_work_on_tables_with_arbitrary_timestamp_as_flexible_as_HBase_API

-Thomas

On Sun, Nov 1, 2015 at 5:00 AM, Camelia Elena Ciolac
<ca...@chalmers.se> wrote:
> Hello,
>
> I created successfully a view over an existing HBase table, but I'd like to
> be able to have in it  the versioned cells as in the HBase table.
> Now, if I issue the command:
>
> CREATE VIEW "table_HBase" (pk VARCHAR PRIMARY
> KEY,"colfamily"."coldescriptor" VARCHAR);
>
> it's normal that I can't answer the query:
>
> SELECT "coldescriptor"  FROM "table_HBase" where "timestamp" < 1445934281566
> LIMIT 10;
>
> because timestamp column is not part of the view (Error: ERROR 504 (42703):
> Undefined column. columnName=timestamp (state=42703,code=504)), but it is
> part of the HBase table.
>
>
> So what would be the workaround to accessing versioned cells from a HBase
> table using Phoenix?
>
> Thanks and best regards!
> C.