2016-11-15 46 views
1

我在谷歌雲bigtable使用hbase來存儲我的bigdata。我有2個程序。首先,使用python將數據存儲到hbase中,然後通過連接到相同的端點從java讀取這些信息。無法獲取存儲在PHP中的PHP整數回到谷歌谷雲

所以從Python交互式殼我可以讀字節數組返回到一個整數(命令15)

In [13]: row.cells['stat']['viewability'][0].value 
Out[13]: '\x00\x00\x00\x00\x00\x00\x00A' 

In [14]: len(row.cells['stat']['viewability'][0].value) 
Out[14]: 8 

In [15]: struct.unpack('>Q', row.cells['stat']['viewability'][0].value) 
Out[15]: (65,) 

但我不能讀回相同的字節數組成Java整數數據類型
我在java中使用以下內容

byte[] columnFamilyBytes = Bytes.toBytes("stat"); 
byte[] viewabilityColumnBytes = Bytes.toBytes("viewability"); 
Integer viewability = Bytes.toInt(c1.getValue(columnFamilyBytes, viewabilityColumnBytes)); 

而且我得到NULL作爲響應。

+0

它是正確的說,C1是HBase的結果對象中的列?如果是這樣,你是否可以驗證結果中是否存在stat:viewability單元格(最簡單的方法似乎是打印出c1.toString()的結果,假設結果不是很大)。 –

回答

0

我發現這個問題
存儲爲長值,所以我不得不只要在Java中先讀,然後將其轉換爲int