1
我有一個有數百萬行的表格,我需要能夠選擇包含某個前綴的行。可能會有幾百個前綴我想要掃描。每個這些前綴最多可影響10行。在我的經驗中,範圍掃描總是比過濾器快很多,所以我希望有一種方法可以掃描多個範圍,而不是爲每個範圍添加PrefixFilter。有沒有什麼辦法可以做到這一點,或者至少PrefixFilters更好的選擇?Hbase多範圍掃描?
我有一個有數百萬行的表格,我需要能夠選擇包含某個前綴的行。可能會有幾百個前綴我想要掃描。每個這些前綴最多可影響10行。在我的經驗中,範圍掃描總是比過濾器快很多,所以我希望有一種方法可以掃描多個範圍,而不是爲每個範圍添加PrefixFilter。有沒有什麼辦法可以做到這一點,或者至少PrefixFilters更好的選擇?Hbase多範圍掃描?
看起來你正在尋找MultiTableInputFormat。它允許我們將來自多個掃描儀的數據提供給一張桌子。
用例:
Scan scan1 = new Scan();
scan1.setStartRow(start1);
scan1.setStopRow(end1);
Scan scan2 = new Scan();
scan2.setStartRow(start2);
scan2.setStopRow(end2);
MultiTableInputCollection mtic = new MultiTableInputCollection();
mtic.Add(tableName1, scan1);
mtic.Add(tableName2, scan2);
TableMapReduceUtil.initTableMapperJob(mtic, TestTableMapper.class, Text.class, IntWritable.class, job1);
有沒有辦法做到這一點只是返回結果?理想情況下,我想生成一個ResultScanner,它將包含指定行範圍內的所有結果。 – user2623855