You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@phoenix.apache.org by David Auclair <d....@utoronto.ca> on 2019/06/07 17:31:41 UTC

Problem with ROW_TIMESTAMP

Hi,

I'm having a problem with ROW_TIMESTAMP not producing proper output:

Versions (Based on HDP 2.6.5):
HBase Shell = Version 1.1.2.2.6.5.1100-53 (assuming HBase is the same version?)
Phoenix = phoenix-4.7.0.2.6.5.1100-53-client.jar
Phoenix Sqlline = 1.1.8

In the HBase shell, I create a table & cf:
hbase(main):001:0> create "threatintel","t"

Once I've loaded some data, I can see:
column=t:v, timestamp=1559914430391, value={"ip":"222.102.76.151"}

Via Phoenix I'm trying to create a mapping to the existing table:
create table "threatintel" (ts TIMESTAMP NOT NULL, "t"."v" varchar, CONSTRAINT pk PRIMARY KEY (ts ROW_TIMESTAMP));

Via Phoenix sqlline:
Select * from "threatintel" limit 1;

Results in:
| 292264620-05-14 12:29:06.783  | {"ip":"203.198.118.221"}  |

Pretty sure that timestamp is incorrect. (And no, that wasn't the same datapoint, but the timestamps were all within a few seconds of each other from a bulk import)

Did I do something wrong?  Any other info I can provide?

Thanks in advance,
David Auclair



RE: Problem with ROW_TIMESTAMP

Posted by David Auclair <d....@utoronto.ca>.
Ok, thanks.  I don't think that's an option for now, as I'm using a 3rd party tool to load data, but might pursue that later if we need more control.

I think I've figured out an alternate solution that works for my needs with setting a TTL directly on the HBase table.

Thanks,
Dave.

-----Original Message-----
From: Josh Elser <el...@apache.org> 
Sent: June 10, 2019 10:44 AM
To: user@phoenix.apache.org
Subject: Re: Problem with ROW_TIMESTAMP

When you want to use Phoenix to query your data, you're going to have a much better time if you also use Phoenix to load the data.

Unless you specifically know what you're doing (and how to properly serialize the data into HBase so that Phoenix can read it), you should use Phoenix to both read and write your data.

On 6/7/19 1:31 PM, David Auclair wrote:
> Hi,
> 
> I’m having a problem with ROW_TIMESTAMP not producing proper output:
> 
> Versions (Based on HDP 2.6.5):
> 
> HBase Shell = Version 1.1.2.2.6.5.1100-53 (assuming HBase is the same
> version?)
> 
> Phoenix = phoenix-4.7.0.2.6.5.1100-53-client.jar
> 
> Phoenix Sqlline = 1.1.8
> 
> In the HBase shell, I create a table & cf:
> 
> hbase(main):001:0> create "threatintel","t"
> 
> Once I’ve loaded some data, I can see:
> 
> column=t:v, timestamp=1559914430391, value={"ip":"222.102.76.151"}
> 
> Via Phoenix I’m trying to create a mapping to the existing table:
> 
> create table "threatintel" (ts TIMESTAMP NOT NULL, "t"."v" varchar, 
> CONSTRAINT pk PRIMARY KEY (ts ROW_TIMESTAMP));
> 
> Via Phoenix sqlline:
> 
> Select * from “threatintel” limit 1;
> 
> Results in:
> 
> | 292264620-05-14 12:29:06.783  | {"ip":"203.198.118.221"}  |
> 
> Pretty sure that timestamp is incorrect. (And no, that wasn’t the same 
> datapoint, but the timestamps were all within a few seconds of each 
> other from a bulk import)
> 
> Did I do something wrong?  Any other info I can provide?
> 
> Thanks in advance,
> 
> David Auclair
> 

Re: Problem with ROW_TIMESTAMP

Posted by Josh Elser <el...@apache.org>.
When you want to use Phoenix to query your data, you're going to have a 
much better time if you also use Phoenix to load the data.

Unless you specifically know what you're doing (and how to properly 
serialize the data into HBase so that Phoenix can read it), you should 
use Phoenix to both read and write your data.

On 6/7/19 1:31 PM, David Auclair wrote:
> Hi,
> 
> I’m having a problem with ROW_TIMESTAMP not producing proper output:
> 
> Versions (Based on HDP 2.6.5):
> 
> HBase Shell = Version 1.1.2.2.6.5.1100-53 (assuming HBase is the same 
> version?)
> 
> Phoenix = phoenix-4.7.0.2.6.5.1100-53-client.jar
> 
> Phoenix Sqlline = 1.1.8
> 
> In the HBase shell, I create a table & cf:
> 
> hbase(main):001:0> create "threatintel","t"
> 
> Once I’ve loaded some data, I can see:
> 
> column=t:v, timestamp=1559914430391, value={"ip":"222.102.76.151"}
> 
> Via Phoenix I’m trying to create a mapping to the existing table:
> 
> create table "threatintel" (ts TIMESTAMP NOT NULL, "t"."v" varchar, 
> CONSTRAINT pk PRIMARY KEY (ts ROW_TIMESTAMP));
> 
> Via Phoenix sqlline:
> 
> Select * from “threatintel” limit 1;
> 
> Results in:
> 
> | 292264620-05-14 12:29:06.783  | {"ip":"203.198.118.221"}  |
> 
> Pretty sure that timestamp is incorrect. (And no, that wasn’t the same 
> datapoint, but the timestamps were all within a few seconds of each 
> other from a bulk import)
> 
> Did I do something wrong?  Any other info I can provide?
> 
> Thanks in advance,
> 
> David Auclair
>