我使用com.twitter.chill.KryoInjection将微风SparseVectors保存到HBase,以便序列化到字节数组,这似乎工作正常。但后来我认识到,在读取HBase中的向量后,一些值不同/缺失。 现在我想知道HBase如何编码数据以及数据的突变可能出现在哪里(保存/编码/可能压缩数据/读取?)。
我想在保存到HBase之前将存储在HBase中的向量与相关向量进行比较以查看它们是否相等(然后可能会读取问题),但我遇到了如何执行此操作的问题。 HBase shell中的向量表示看起来像
column = d:vector,timestamp = 1431936909897,value = \ x01 \ x00breeze.linalg.SparseVector $ mcD $ s \ xF0 \ x01 \ x00 \ x01 \ x01breeze.collection.mutable.SparseArra \ xF9 \ x01 \ x1A \ X01 \ X02 [\ XC4 \ X01 \ X0 ?è\ XF0 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ xC5- \ XF2 \ X15 \ x85Z:??\ XD6,{C1 \ xA8 \ X08 @ \ x06P \ XE3 \ X85 \ xACy&#39 ;? \ 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.Zero $ DoubleZero \ XA4 \ X01 \ X01 \ X03 \ X06
我如何将其与"普通"进行比较?将矢量序列化为文本文件时得到的字节码? 有没有人有类似的问题,可以给出建议吗?
答案 0 :(得分:0)
HBase只是将数据存储为您提供的字节数组。如果它是使用kryo或任何其他技术创建的,它并不在乎。所以问题可能在你的代码而不是HBase中。