0

我正在使用 com.twitter.chill.KryoInjection 将微风 SparseVectors 保存到 HBase 以序列化为字节数组,这似乎工作正常。但后来我意识到,在从 HBase 中读取向量后,一些值是不同的/缺失的。现在我想知道 HBase 如何编码数据以及数据的突变可能出现在哪里(保存/编码/可能压缩数据/读取??)。

我想在保存到 HBase 之前将存储在 HBase 中的向量与相关向量进行比较,看看它们是否相等(那么可能是读取问题),但我遇到了如何做到这一点的问题。HBase shell 中向量的表示形式如下

列=d:向量,时间戳=1431936909897,值=\x01\x00breeze.linalg.SparseVector$mcD$s\xF0\x01\x00\x01\x01breeze.collection.mutable.SparseArra\xF9\x01\x1A\x01\x02 [\xC4\x01\x0 E?\xF0\x00\x00\x00\x00\x00\x00?\xC5-\xF2\x15\x85Z:?\xD6,{ci\xA8\x08@\x06P\xE3\ x85\xACy'?\xEB\xA2\x09\xAA\xA3\xAD\x19?\xE4M\xCB\x98\xB8\x00f?\xE8\x00\x00\x00\x00\x00\x00@"\xA4Z\ x1C\xAC\x081?\xEB\xB0\xE3\xCD\x9AR&?\xE4\xB7\xF7K`\xDD)?\xEA\xD3\xC0\x06\x14\xEC\xF7?\xF3\x01]\xE8R46 ?\xC45\x03\x97\xE5\x0E\x8D\x0A\x00\x00\x00\x00\x00\x00\x00\x00\x01\x0E\x02\x0A0~\xB2\x01\xCC\x01\xBA \x02\xD22\xE4a\xDA\xB6\x0A\xD0\x8B&\xC0\xC0)\xDA\xCC\x05\x01\xC0\x84=\x01\x03breeze.storage。零$DoubleZero\xA4\x01\x01\x03\x06

如何将其与将向量序列化为文本文件时得到的“正常”字节码进行比较?有没有人已经有类似的问题并可以提供建议?

4

1 回答 1

0

HBase 只是将数据存储为您提供给它的字节数组。它不关心它是否是使用 kryo 或任何其他技术创建的。所以问题可能出在您的代码中,而不是在 HBase 中。

于 2015-05-22T04:29:09.320 回答