@Override
  public Void call() throws Exception {
    for (String measurement : measurementList) {
      List<IMeasurementSchema> measurementSchemas =
          Collections.singletonList(schemaMap.get(measurement));
      IDataBlockReader dataBlockReader =
          ReadPointCompactionPerformer.constructReader(
              device,
              Collections.singletonList(measurement),
              measurementSchemas,
              new ArrayList<>(schemaMap.keySet()),
              fragmentInstanceContext,
              queryDataSource,
              false);

      if (dataBlockReader.hasNextBatch()) {
        compactionWriter.startMeasurement(
            measurement, new ChunkWriterImpl(measurementSchemas.get(0), true), taskId);
        ReadPointCompactionPerformer.writeWithReader(
            compactionWriter, dataBlockReader, device, taskId, false);
        compactionWriter.endMeasurement(taskId);
      }
    }
    return null;
  }
This class is used to implement reading the measurements and writing to the target files in
parallel in the compaction. Currently, it only works for nonAligned data in cross space
compaction and unseq inner space compaction.
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/task/subtask/ReadPointPerformerSubTask.java