我遇到掃描儀返回的行中缺失值的情況。HBase Get:掃描儀結果中缺少行值,全部使用全鍵
我的鑰匙看起來像這樣company_recordtype_recordid_childrecordtype_childrowid
的%ID值的GUID。
我正在使用C#,Azure HDInsights(HBase)和Microsoft.HBaseClient來完成這項工作。
如果我創建這樣
Scanner scanSettings = new Scanner()
{
batch = 10,
startRow = Encoding.UTF8.GetBytes(myrowkey),
endRow = Encoding.UTF8.GetBytes(myrowkey + "~")
};
其中myrowkey看起來像companya_salesrecord_guid_receipt_ 開始看起來像和結束掃描儀看起來像companya_salesrecord_guid_receipt_guid(S)其中GUID(S)意味着有針對salesrecord許多收據(只是一個愚蠢的例子)
如果我想查找與該銷售記錄相關的所有收據,它應該帶回所有的行值,或者我想。
現在每行至少有8個columndata值,因爲它們是必需的,我已驗證它們存在。我也有一個蜂房覆蓋表,它顯示了所有,沒有部分奇怪的行。 HiveTable中只有NULLS,其中不存在值和完整值。
當我做實際的代碼運行時,我隨機得到只有... 3行值的行,而其中99%都是8行值。
如果我然後採取完整的關鍵只有部分值的數據行(如3)..並使用完全相同的代碼,但限定了整個鍵,我得到所有的值。
我完全失去了如何解決這個問題...甚至調試這個,所以任何想法都真正的讚賞。
你是聖誕禮物早來哈哈!非常感謝,完全解決了它。我很困惑,爲什麼隨機行會有更少的值... – user3051556