private static Schema refineTimestampType(Schema schema, Schema original) {
    List<Types.NestedField> columns = schema.columns();
    List<Types.NestedField> result = new ArrayList<>();
    for (Types.NestedField nestedField : columns) {
      if (nestedField.type().typeId() == Type.TypeID.TIMESTAMP) {
        result.add(
            Types.NestedField.of(
                nestedField.fieldId(),
                nestedField.isOptional(),
                nestedField.name(),
                original.findType(nestedField.fieldId()),
                nestedField.doc()));
      } else {
        result.add(nestedField);
      }
    }
    return new Schema(result, schema.getAliases(), schema.identifierFieldIds());
  }
Copy from {@link ParquetUtil} to resolve int96 in metric.
amoro-format-mixed/amoro-mixed-hive/src/main/java/org/apache/iceberg/parquet/AdaptHiveParquetUtil.java