@Override
  protected void buildChunkWriter(final InputStream stream) throws IOException, PageException {
    for (int i = 0; i < chunkHeaderList.size(); i++) {
      ChunkHeader chunkHeader = chunkHeaderList.get(i);
      MeasurementSchema measurementSchema =
          new MeasurementSchema(
              chunkHeader.getMeasurementID(),
              chunkHeader.getDataType(),
              chunkHeader.getEncodingType(),
              chunkHeader.getCompressionType());
      ValueChunkWriter valueChunkWriter =
          new ValueChunkWriter(
              measurementSchema.getMeasurementName(),
              measurementSchema.getCompressor(),
              measurementSchema.getType(),
              measurementSchema.getEncodingType(),
              measurementSchema.getValueEncoder());
      valueChunkWriters.add(valueChunkWriter);
      buildValueChunkWriter(stream, chunkHeader, pageNumbers.get(i), valueChunkWriter);
    }
  }
This class is used to be compatible with the new distribution of aligned series in chunk group.
In past versions, a time chunk and all its corresponding value chunks were continuous within the
chunk group. In order to solve the problem of excessive memory usage during compaction, the value
column is grouped and merged, which will cause the above rules to be broken.
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/load/splitter/BatchedAlignedValueChunkData.java