我試着瞭解爲我的HBase表設計密鑰的最佳方式。用於讀取和更新的HBase行密鑰設計
我的使用情況:
結構現在
是PersonID | BatchDate | PersonJSON
當某人關於該人的某些事情被修改時,新的PersonJSON和新的批處理日期被插入到Hbase中更新舊記錄。然後每4小時對所有修改過的人員進行掃描,然後將其推送到Hadoop進行進一步處理。
如果我的密鑰只是personID,它更適合更新數據。但是我的性能很糟糕,因爲我必須在BatchData列上添加一個過濾器來掃描大於批處理日期的所有行。
如果我的鍵是像BatchDate | PersonID這樣的組合鍵,我可以在行鍵上使用startrow和endrow並獲取所有已修改的行。但後來我會有很多重複,因爲密鑰不是唯一的,不能再更新一個人。
布隆過濾器在行+ col(personid + batchdate)上有一個選項嗎?
任何幫助表示讚賞。 謝謝, Abhishek