HBase正确显示时间戳值?

时间:2012-05-22 06:48:31

标签: hadoop hbase

如果HBase以long为单位存储每列的时间戳,那么当从终端上的hbase shell访问时,它如何以正确的数字格式显示值,如果我将其他值存储为long,则以下列方式显示不可读\x00\x00\x00\x00\x00\x0By\x80除非你转换为java代码。或者HBase是否有其他数据类型来存储时间戳值?

 APP:APP_ID                                 timestamp=1337657056164, value=\x00\x00\x00$
 APP:APP_NAME                               timestamp=1337657056164, value=java.process
 TUW:EXCEPTION                              timestamp=1337657056164, value=0
 TUW:TUW_ID                                 timestamp=1337657056164, value=\x00\x00\x12\x08
 TUW:TUW_STATUS                             timestamp=1337657056164, value=\x00\x00\x00\x02

1 个答案:

答案 0 :(得分:4)

您在HBase中存储的任何值看起来都像\x00\x00\x00\x00\x00\x0By\x80,因为HBase将每个值视为字节数组,而不管其数据类型如何。这就是为什么你必须将这些值转换回java类型才能看到它们。

虽然时间戳是Hbase内部用于对存储数据进行版本控制的内容,但它是“自纪元以来的秒数”。它也可以是我们选择的其他一些价值。我们可以在插入数据时指定时间戳。