@Override
    public void getMetaSummary(Map<String, String> properties, MetadataTableSummary summary) {
      SummaryMapBuilder builder = new SummaryMapBuilder()
          .add(WRITE_FORMAT_DEFAULT, properties.getOrDefault(WRITE_FORMAT_DEFAULT, PARQUET))
          .add(WRITE_DELETE_FORMAT_DEFAULT, properties.getOrDefault(WRITE_DELETE_FORMAT_DEFAULT, PARQUET));
      String fileFormat = builder.get(WRITE_FORMAT_DEFAULT, String.class);
      String compression = "write." + fileFormat + ".compression-codec";
      builder.add(WRITE_COMPRESSION_CODEC,
          properties.getOrDefault(compression, defaultCompressionCodec.get(fileFormat)));
      if (formatJson) {
        summary.addExtra(WRITE_FORMAT, builder);
      } else {
        summary.addExtra(builder);
      }
      summary.setCompressionType(builder.get(WRITE_COMPRESSION_CODEC, String.class));
      summary.setFileFormat(fileFormat);
    }
Collect the summary based on the table's properties.
It could be the version, write mode or compression, etc.
iceberg/iceberg-handler/src/main/java/org/apache/iceberg/metasummary/TablePropertySummary.java