Вы можете изменить сканирование, которое вы отправляете в Mapper, чтобы включить фильтр.Если ваша дата также является меткой времени записи, это просто:
Scan scan = new Scan();
scan.setTimeRange(minTime, maxTime);
TableMapReduceUtil.initTableMapperJob("mytable", scan, MyTableMapper.class,
OutputKey.class, OutputValue.class, job);
Если дата в вашем ключе строки отличается, вам нужно будет добавить фильтр в ваш скан.Этот фильтр может работать с ключом столбца или строки.Я думаю, что это будет грязно только с ключом строки.Если вы поместите дату в столбец, вы можете сделать FilterList
, где все условия должны быть выполнены, и использовать CompareOp.GREATER
и CompareOp.LESS
.Затем используйте scan.setFilter(filterList)
, чтобы добавить ваши фильтры в сканирование.