public List<Path> compact(final CompactionRequestImpl request, final List<Long> lowerBoundaries,
    final Map<Long, String> lowerBoundariesPolicies, ThroughputController throughputController,
    User user) throws IOException {
    if (LOG.isDebugEnabled()) {
      LOG.debug("Executing compaction with " + lowerBoundaries.size()
        + "windows, lower boundaries: " + lowerBoundaries);
    }

    return compact(request, defaultScannerFactory,
      new CellSinkFactory<DateTieredMultiFileWriter>() {

        @Override
        public DateTieredMultiFileWriter createWriter(InternalScanner scanner, FileDetails fd,
          boolean shouldDropBehind, boolean major, Consumer<Path> writerCreationTracker)
          throws IOException {
          DateTieredMultiFileWriter writer = new DateTieredMultiFileWriter(lowerBoundaries,
            lowerBoundariesPolicies, needEmptyFile(request));
          initMultiWriter(writer, scanner, fd, shouldDropBehind, major, writerCreationTracker);
          return writer;
        }
      }, throughputController, user);
  }
This compactor will generate StoreFile for different time ranges.
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/DateTieredCompactor.java