You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@trafodion.apache.org by "Liu, Ming (Ming)" <mi...@esgyn.cn> on 2015/11/17 09:07:43 UTC

how to interpret the content in the HBase cell for a table with 'aligned format'

Hi, all,

I am trying to understand the details of Trafodion's 'aligned format' feature.
If table T has two columns:
A                     B
INT NOT NULL PK        CHAR(5)
==================   =========

1                                                                          'abc'

DDL:  create table testalign (c1 int not null, c2 char(5) , primary key (c1)  ) ATTRIBUTES ALIGNED FORMAT;

In the Hbase cell, it turns out to save :

hbase(main):002:0> scan 'TRAFODION.SEABASE.TESTALIGN'
ROW                              COLUMN+CELL
\x80\x00\x00\x01                   column=#1:\x01, timestamp=1447746862628, value=\x0C\xC0\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00abc<sp><sp>\x00\x00\x00

Can anyone help to explain what is the first 0x0C and 0xC0 means? And there are 0x08 and many 0x00 between the real user data value, what are those for? I cannot see them for a table not in 'align format' , which is very easy to understand.

Thanks in advance!

Thanks,
Ming



RE: how to interpret the content in the HBase cell for a table with 'aligned format'

Posted by Anoop Sharma <an...@esgyn.com>.
hi, look at file core/sql/exp/ExpAlignedFormat.h which discussed internal
details of aligned format.

anoop

-----Original Message-----
From: Liu, Ming (Ming) [mailto:ming.liu@esgyn.cn] 
Sent: Tuesday, November 17, 2015 12:08 AM
To: dev@trafodion.incubator.apache.org
Subject: how to interpret the content in the HBase cell for a table with
'aligned format'

Hi, all,

I am trying to understand the details of Trafodion's 'aligned format'
feature.
If table T has two columns:
A                     B
INT NOT NULL PK        CHAR(5)
==================   =========

1
'abc'

DDL:  create table testalign (c1 int not null, c2 char(5) , primary key (c1)
) ATTRIBUTES ALIGNED FORMAT;

In the Hbase cell, it turns out to save :

hbase(main):002:0> scan 'TRAFODION.SEABASE.TESTALIGN'
ROW                              COLUMN+CELL
\x80\x00\x00\x01                   column=#1:\x01, timestamp=1447746862628,
value=\x0C\xC0\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00abc<sp
><sp>\x00\x00\x00

Can anyone help to explain what is the first 0x0C and 0xC0 means? And there
are 0x08 and many 0x00 between the real user data value, what are those for?
I cannot see them for a table not in 'align format' , which is very easy to
understand.

Thanks in advance!

Thanks,
Ming