private AdaptHiveGenericKeyedDataReader mixedTableDataReader(Schema requiredSchema) {

    PrimaryKeySpec primaryKeySpec = PrimaryKeySpec.noPrimaryKey();
    if (table.isKeyedTable()) {
      KeyedTable keyedTable = table.asKeyedTable();
      primaryKeySpec = keyedTable.primaryKeySpec();
    }

    return new AdaptHiveGenericKeyedDataReader(
        table.io(),
        table.schema(),
        requiredSchema,
        primaryKeySpec,
        table.properties().get(TableProperties.DEFAULT_NAME_MAPPING),
        false,
        IdentityPartitionConverters::convertConstant,
        null,
        false,
        structLikeCollections);
  }
This class is a temporary implementation, as readData and readDeleteData need to read the delete
file twice. Later on, it will be changed to read the delete file only once. Can read both
Mixed-hive and Mixed-iceberg format.
amoro-format-mixed/amoro-mixed-hive/src/main/java/org/apache/amoro/hive/optimizing/MixedHiveOptimizingDataReader.java