2

HBase が各列のタイムスタンプを long で保存している場合、端末の hbase シェルからアクセスしたときに値を適切な数値形式で表示する方法、他の値を 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
4

1 に答える 1

4

HBase に格納する値はすべて のよう\x00\x00\x00\x00\x00\x0By\x80になります。HBase はデータ型に関係なく、すべての値をバイト配列として扱うためです。そのため、これらの値を表示するには、これらの値を Java 型に変換し直す必要があります。

タイムスタンプは、格納されたデータをバージョン管理するために Hbase によって内部的に使用されるものであり、「エポックからの秒数」です。また、私たちが選択した他の値でもかまいません。データの挿入中にタイムスタンプを指定できます。

于 2012-05-22T09:29:13.490 に答える