hive/hbase:如何解释hbase中存储的数据?

ecbunoof  于 2021-05-29  发布在  Hadoop
关注(0)|答案(0)|浏览(218)

我目前正在处理一个存储在hbase上的配置单元外部表。在这个任务中,我的问题是如何解释hbase中存储的数据。
所以,我有一个表,叫做'ana',它有一个列族'd'和几个限定符。以下是我的基础摘录:
1gme010ne-2015-10-15 15:43:56.822,列=d:12,值=20151015
1gme010ne-2015-10-15 15:43:56.822,列=d:13,值=15:43:56.822
1gme010ne-2015-10-15 15:43:56.822,列=d:14,值=@\x80\x00\x00
1gme010ne-2015-10-15 15:43:56.822,列=d:15,值=0
1gme010ne-2015-10-15 15:43:56.822,列=d:8,值=\x00\x00\x01pl,\x09\x96
1gme010ne-2015-10-15 15:43:56.822,列=d:e,值=1gme010ne-
我的问题来自:
列d:8包含一个bigint,它实际上是一个时间戳,等于'2015-10-15 15:43:56.822',编码为'\x00\x00\x01pl,\x09\x96'。
我想要的是通过配置单元访问这些数据,并将bigint直接解释为时间戳。所以我试了这个:

CREATE EXTERNAL TABLE hbase_anahist
  (
     rowkey STRING,
     jour STRING,
     heure STRING,
     valeur FLOAT,
     validite STRING,
     horodate BIGINT,
     repere STRING
  )
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES
  ("hbase.columns.mapping" = ":key#s, d:12#s, d:13#s, d:14#b, d:15#s, d:8#b, d:e#$)
TBLPROPERTIES
  (
      "hbase.table.name" = "ana",
      "hbase.mapred.output.outputtable" = "ana",
      "hbase.table.default.storage.type"="binary"
  );

给我一个bigint等于1444923836822,这是2015-10-15 15:43:56.822的bigint,所以这是可以的。
但是我需要这个bigint在hiveMap过程中自动转换成他的时间戳等价物。
提前谢谢你的帮助。
罗曼。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题