protected FileAppenderFactory<Record> fullMetricAppenderFactory(PartitionSpec spec) {
    GenericAppenderFactory appenderFactory = new GenericAppenderFactory(table.schema(), spec);
    appenderFactory.setAll(table.properties());
    appenderFactory.set(
        org.apache.iceberg.TableProperties.METRICS_MODE_COLUMN_CONF_PREFIX
            + MetadataColumns.DELETE_FILE_PATH.name(),
        MetricsModes.Full.get().toString());
    appenderFactory.set(
        org.apache.iceberg.TableProperties.METRICS_MODE_COLUMN_CONF_PREFIX
            + MetadataColumns.DELETE_FILE_POS.name(),
        MetricsModes.Full.get().toString());
    return appenderFactory;
  }
An abstract OptimizingExecutor implementation that rewrites the rewrittenDataFiles in
RewriteInput and generates new position delete for rePosDeletedDataFiles.
amoro-format-iceberg/src/main/java/org/apache/amoro/optimizing/AbstractRewriteFilesExecutor.java