private boolean needEmptyFile(CompactionRequestImpl request) {
    // if we are going to compact the last N files, then we need to emit an empty file to retain the
    // maxSeqId if we haven't written out anything.
    OptionalLong maxSeqId = StoreUtils.getMaxSequenceIdInList(request.getFiles());
    OptionalLong storeMaxSeqId = store.getMaxSequenceId();
    return maxSeqId.isPresent() && storeMaxSeqId.isPresent()
      && maxSeqId.getAsLong() == storeMaxSeqId.getAsLong();
  }
This compactor will generate StoreFile for different time ranges.
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/DateTieredCompactor.java