Class MultiRowRangeFilter

All Implemented Interfaces:
HintingFilter

@Public public class MultiRowRangeFilter extends FilterBase implements HintingFilter
Filter to support scan multiple row key ranges. It can construct the row key ranges from the passed list which can be accessed by each region server. HBase is quite efficient when scanning only one small row key range. If user needs to specify multiple row key ranges in one scan, the typical solutions are: 1. through FilterList which is a list of row key Filters, 2. using the SQL layer over HBase to join with two table, such as hive, phoenix etc. However, both solutions are inefficient. Both of them can't utilize the range info to perform fast forwarding during scan which is quite time consuming. If the number of ranges are quite big (e.g. millions), join is a proper solution though it is slow. However, there are cases that user wants to specify a small number of ranges to scan (e.g. <1000 ranges). Both solutions can't provide satisfactory performance in such case. MultiRowRangeFilter is to support such usec ase (scan multiple row key ranges), which can construct the row key ranges from user specified list and perform fast-forwarding during scan. Thus, the scan will be quite efficient.