Hi Ryan,

There isn't a published javadoc (at least not that I'm aware of), so your best 
bet is to pull down the source[1] from git and either build the javadoc (mvn 
javadoc:javadoc should do it), or just look directly at the source. 

- Gabriel

http://phoenix.apache.org/source.html

> On 24 Aug 2016, at 18:25, Ryan Templeton <[email protected]> wrote:
> 
> Gabriel, the PDataType subclass you mention, can I read more about this in a 
> Javadoc somewhere?
> 
> Hbase provides the convenient static Bytes functions for performing the 
> encoding and decoding. I’m guessing the PDataType is some kind of equivalent 
> and that this is part of the Phoenix JDBC (fat) driver?
> 
> Thanks,
> Ryan
> 
> 
> 
> 
>> On 8/24/16, 3:01 AM, "Gabriel Reid" <[email protected]> wrote:
>> 
>> Hi Ankit,
>> 
>> All data stored in HBase is stored in the form of byte arrays. The
>> conversion from richer types (e.g. date) to byte arrays is one of the
>> (many) functionalities included in Phoenix.
>> 
>> When you add a date value in the form of a string to HBase directly
>> (bypassing Phoenix), you're simply saving the byte representation of
>> that string to HBase. Phoenix uses an encoded long value to store
>> dates in HBase, so when you try to read your date value from HBase via
>> Phoenix, it's simply interpreting the bytes as a long, which leads to
>> the unexpected date value that you're getting.
>> 
>> There are two options to do what you're doing: either (1) use Phoenix
>> for both reading and writing data, or (2) use the PDataType subclasses
>> (e.g. PDate, PLong, etc) to encode data before storing it to HBase.
>> 
>> - Gabriel
>> 
>>> On Wed, Aug 24, 2016 at 9:40 AM, ankit beohar <[email protected]> 
>>> wrote:
>>> HI All,
>>> 
>>> I have table in HBase and putting data into it then create phoenix view with
>>> date, bigint etc data types but when I query from phoenix its giving me
>>> wrong values I tried unassigned data types also but not working below are
>>> stack:-
>>> 
>>> ==========Hbase===========
>>> hbase(main):057:0> create 'CEHCK_DT','0'
>>> 0 row(s) in 2.2650 seconds
>>> 
>>> => Hbase::Table - CEHCK_DT
>>> hbase(main):058:0> put 'CEHCK_DT','row1','0:dates','2016-08-11'
>>> 0 row(s) in 0.0080 seconds
>>> 
>>> hbase(main):059:0> scan 'CEHCK_DT'
>>> ROW                                                          COLUMN+CELL
>>> row1                                                        column=0:dates,
>>> timestamp=1471930977145, value=2016-08-11
>>> 1 row(s) in 0.0100 seconds
>>> 
>>> 
>>> =========Phoenix=============
>>> 0: jdbc:phoenix:localhost:2181> create table "CEHCK_DT"(pk varchar primary
>>> key,"0"."dates" date,"0"."SALARY" bigint);
>>> No rows affected (0.347 seconds)
>>> 0: jdbc:phoenix:localhost:2181> select "0"."dates" from "CEHCK_DT";
>>> +-------------------------------+
>>> |             dates             |
>>> +-------------------------------+
>>> | 177670840-04-13 05:44:22.317  |
>>> | 177670840-04-13 05:44:22.317  |
>>> | 177670840-04-13 05:44:22.317  |
>>> +-------------------------------+
>>> 
>>> 
>>> 
>>> Best Regards,
>>> ANKIT BEOHAR
>> 

Reply via email to