簡體   English   中英

HBase Scan基於特定的HFile作為根

[英]HBase Scan based on specific HFile(s) as roots

是否有任何具有以下行為的掃描/過濾器API?

給定時間范圍,我希望掃描儀包含來自HFiles的數據超出范圍,包括在HFiles中的行鍵在范圍內。 我們的想法是掃描所有HFile的內存索引,但只從磁盤中獲取來自HFile的rowkeys的數據。

例如,如果HFile1在范圍和HFile2超出范圍,和rowkey1在任何數據HFile1 ,我想獲得的所有列rowkey1HFile2為好,就好像它是在范圍內。 在另一方面,如果rowkey2包括在HFile2但不是在HFile1 ,索引掃描儀應該只是跳到下一行的關鍵。

用例是在最后X小時內加載已修改的整行 (即使只在一列上),從而避免對冗余數據進行全面掃描或任何磁盤掃描。 這將集成到Spark / MR應用程序中,可能基於TableSnapshotInputFormat,所以我想我可以為HRegion,HStore或其他任何東西發送一些自定義代碼,如果有的話。

非常感謝

如果這是用例,

用例是在最后X小時內加載已修改的整行(即使只在一列上),避免了冗余數據的全掃描或任何磁盤掃描

為什么帶時間戳范圍的掃描不起作用? HBase JAVA API org.apache.hadoop.hbase.client.Scan.setTimeRange(long, long)將時間范圍作為輸入,並且僅獲取在此時間范圍內修改的行。

如果您希望它更靈活,則應用KeyOnlyFilter()並獲取所有rowkeys。 稍后您可以根據行數進行批量Get

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM