diff --git a/flink-tsfile-connector/src/test/java/org/apache/iotdb/flink/tsfile/RowTsFileInputFormatIT.java b/flink-tsfile-connector/src/test/java/org/apache/iotdb/flink/tsfile/RowTsFileInputFormatIT.java
index 2fbee54..0c36cb6 100644
--- a/flink-tsfile-connector/src/test/java/org/apache/iotdb/flink/tsfile/RowTsFileInputFormatIT.java
+++ b/flink-tsfile-connector/src/test/java/org/apache/iotdb/flink/tsfile/RowTsFileInputFormatIT.java
@@ -59,20 +59,20 @@
     List<String> result = source.map(Row::toString).collect();
     Collections.sort(result);
     String[] expected = {
-      "1,1.2,20,null,2.3,11,19",
-      "10,null,20,50,25.4,10,21",
-      "11,1.4,21,null,null,null,null",
-      "12,1.2,20,51,null,null,null",
-      "14,7.2,10,11,null,null,null",
-      "15,6.2,20,21,null,null,null",
-      "16,9.2,30,31,null,null,null",
-      "2,null,20,50,25.4,10,21",
-      "3,1.4,21,null,null,null,null",
-      "4,1.2,20,51,null,null,null",
-      "6,7.2,10,11,null,null,null",
-      "7,6.2,20,21,null,null,null",
-      "8,9.2,30,31,null,null,null",
-      "9,1.2,20,null,2.3,11,19"
+      "+I[1, 1.2, 20, null, 2.3, 11, 19]",
+      "+I[10, null, 20, 50, 25.4, 10, 21]",
+      "+I[11, 1.4, 21, null, null, null, null]",
+      "+I[12, 1.2, 20, 51, null, null, null]",
+      "+I[14, 7.2, 10, 11, null, null, null]",
+      "+I[15, 6.2, 20, 21, null, null, null]",
+      "+I[16, 9.2, 30, 31, null, null, null]",
+      "+I[2, null, 20, 50, 25.4, 10, 21]",
+      "+I[3, 1.4, 21, null, null, null, null]",
+      "+I[4, 1.2, 20, 51, null, null, null]",
+      "+I[6, 7.2, 10, 11, null, null, null]",
+      "+I[7, 6.2, 20, 21, null, null, null]",
+      "+I[8, 9.2, 30, 31, null, null, null]",
+      "+I[9, 1.2, 20, null, 2.3, 11, 19]"
     };
     assertArrayEquals(expected, result.toArray());
   }
@@ -88,20 +88,20 @@
             .sorted()
             .toArray(String[]::new);
     String[] expected = {
-      "1,1.2,20,null,2.3,11,19",
-      "10,null,20,50,25.4,10,21",
-      "11,1.4,21,null,null,null,null",
-      "12,1.2,20,51,null,null,null",
-      "14,7.2,10,11,null,null,null",
-      "15,6.2,20,21,null,null,null",
-      "16,9.2,30,31,null,null,null",
-      "2,null,20,50,25.4,10,21",
-      "3,1.4,21,null,null,null,null",
-      "4,1.2,20,51,null,null,null",
-      "6,7.2,10,11,null,null,null",
-      "7,6.2,20,21,null,null,null",
-      "8,9.2,30,31,null,null,null",
-      "9,1.2,20,null,2.3,11,19"
+      "+I[1, 1.2, 20, null, 2.3, 11, 19]",
+      "+I[10, null, 20, 50, 25.4, 10, 21]",
+      "+I[11, 1.4, 21, null, null, null, null]",
+      "+I[12, 1.2, 20, 51, null, null, null]",
+      "+I[14, 7.2, 10, 11, null, null, null]",
+      "+I[15, 6.2, 20, 21, null, null, null]",
+      "+I[16, 9.2, 30, 31, null, null, null]",
+      "+I[2, null, 20, 50, 25.4, 10, 21]",
+      "+I[3, 1.4, 21, null, null, null, null]",
+      "+I[4, 1.2, 20, 51, null, null, null]",
+      "+I[6, 7.2, 10, 11, null, null, null]",
+      "+I[7, 6.2, 20, 21, null, null, null]",
+      "+I[8, 9.2, 30, 31, null, null, null]",
+      "+I[9, 1.2, 20, null, 2.3, 11, 19]"
     };
     assertArrayEquals(expected, result);
   }
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/utils/MeasurementGroup.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/utils/MeasurementGroup.java
index e4306b7..21cf4c8 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/utils/MeasurementGroup.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/utils/MeasurementGroup.java
@@ -20,11 +20,12 @@
 
 import org.apache.iotdb.tsfile.write.schema.MeasurementSchema;
 
+import java.io.Serializable;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-public class MeasurementGroup {
+public class MeasurementGroup implements Serializable {
   private boolean isAligned;
   private Map<String, MeasurementSchema> measurementSchemaMap;
 
