gpt4 book ai didi

binary - 理解编码的 hbase 值

转载 作者:行者123 更新时间:2023-12-02 02:12:28 24 4
gpt4 key购买 nike

我目前正在调查一个数据被破坏的错误,我们不确定这是在哪个组件中发生的。我试图从 Hbase 中读取值,但由于编码而无法理解它们。有人告诉我它是“二进制编码的十六进制”(不管那是什么意思)。 有谁知道如何解码这些值?任何解决方案将不胜感激;无论是我可以下载的一些实用程序还是一步一步的手动过程。以下是我的 hbase 扫描中的一些示例行。

column=m:----_daily_count, timestamp=1345766400000, value=\x00\x00\x00\x01column=a:utc_offset, timestamp=1346025600000, value=\xFF\xFF\x9D\x90
column=m:-----_daily_count,timestamp=1344816000000,value=\x00\x00\x00\x03

---- 正在替换可能泄露未发布产品信息的数据类型的名称。

最佳答案

不确定这是否有帮助,但 HBase 不理解类型并且基本上将所有内容存储为字节序列。从十六进制编码到实际字节值非常容易:

\x00\x00\x00\x01

是字节序列:

0 0 0 1

如果非要我猜的话,这些值应该是多头,所以上面的值只是 1L。

您可以使用 java API(特别是 org.apache.hadoop.hbase.util.Bytes 类)将字节序列转换为 java 中的实际类型,但要理解它,您需要知道它们被序列化的类型。此外,这假设写入数据的任何内容也是用 Java 编写的和/或具有相同的字节顺序。

如果你了解 ruby​​,你也可以使用 string 类的 unpack() 方法,它理解那些字节序列,但你仍然需要知道类型/字节顺序才能这样做,如果它不是原始的,它可能行不通。

关于binary - 理解编码的 hbase 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12150844/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com