Hey Tug, You can query a HBase / MapR-DB Binary table as follows:
> select cast(t.cf1.c1 as INTEGER), cast(t.cf1.c2 as BIGINT), cast(t.cf1.c3 as DOUBLE), cast(t.cf1.c4 as FLOAT), cast(t.cf1.c5 as BIGINT) from mfs.`/t1` t; +---------+---------+----------+---------+---------+ | EXPR$0 | EXPR$1 | EXPR$2 | EXPR$3 | EXPR$4 | +---------+---------+----------+---------+---------+ | 10 | 22 | 123.123 | 99.99 | 1111 | +---------+---------+----------+---------+---------+ 1 row selected (0.198 seconds) OR > select convert_from(t.cf1.c1, 'UTF8'), convert_from(t.cf1.c2, 'UTF8'), convert_from(t.cf1.c3, 'UTF8'), convert_from(t.cf1.c4, 'UTF8'), convert_from(t.cf1.c5, 'UTF8') from mfs.`/t1` t; +---------+---------+----------+---------+---------+ | EXPR$0 | EXPR$1 | EXPR$2 | EXPR$3 | EXPR$4 | +---------+---------+----------+---------+---------+ | 10 | 22 | 123.123 | 99.99 | 1111 | +---------+---------+----------+---------+---------+ 1 row selected (0.151 seconds) One thing which I'm not clear is if storing values with type is supported. I mean "99.99f" vs just "99.99" for float. I only got the latter one to work. With Drill explicit casts, I don't think that should be an issue though. On Thu, Sep 29, 2016 at 6:51 AM, Tugdual Grall <[email protected]> wrote: > Hello, > > My HBase (MapR-DB to be exact) application is saving values as numerical > data types as follow: > > > ==== > int intValue = 10; > long longValue = 22l; > double doubleValue = 123.123; > float floatValue = 99.99f; > BigDecimal bigDecimal = new BigDecimal(1111); > > > put.addColumn( Bytes.toBytes("default") , Bytes.toBytes("int"), > Bytes.toBytes( intValue ) ); > put.addColumn( Bytes.toBytes("default") , Bytes.toBytes("long"), > Bytes.toBytes( longValue ) ); > put.addColumn( Bytes.toBytes("default") , Bytes.toBytes("double"), > Bytes.toBytes( doubleValue ) ); > put.addColumn( Bytes.toBytes("default") , Bytes.toBytes("float"), > Bytes.toBytes( floatValue ) ); > put.addColumn( Bytes.toBytes("default") , Bytes.toBytes("bigDecimal"), > Bytes.toBytes( bigDecimal ) ); > ==== > > > I am trying to use the convert_from drill function to get the values out of > my database, but it does not work the way I was expecting... > > select > convert_from(t.`default`.`int` , 'INT') , > convert_from(t.`default`.`double`, 'DOUBLE' ) , > convert_from(t.`default`.`float`, 'FLOAT') > from dfs.`demos/simple_table` t > +------------+------------------------+---------------+ > | EXPR$0 | EXPR$1 | EXPR$2 | > +------------+------------------------+---------------+ > | 167772160 | 2.79722325089736E-167 | -5.782555E20 | > +------------+------------------------+---------------+ > > > 1- What is the proper way to query HBase/MapR-DB to get the proper value? > > 2- Can I use such datatypes, or I need to store everything as String? > > Regards > Tug >
