static JobConf prepareMockJob(Schema schema, Path dataFilePath) throws HiveException {
    StructObjectInspector oi = (StructObjectInspector) IcebergObjectInspector.create(schema);
    String hiveColumnNames = String.join(",", oi.getAllStructFieldRefs().stream()
        .map(sf -> sf.getFieldName()).collect(Collectors.toList()));
    String hiveTypeInfoNames = String.join(",", oi.getAllStructFieldRefs().stream()
        .map(sf -> sf.getFieldObjectInspector().getTypeName()).collect(Collectors.toList()));

    // facepalm: getTypeName returns detailed info for decimal type.. :/
    hiveTypeInfoNames = hiveTypeInfoNames.replaceAll("decimal\\(\\d+,\\d+\\)", "decimal");

    Configuration conf = new Configuration();
    conf.set(IOConstants.COLUMNS, hiveColumnNames);
    conf.set(IOConstants.COLUMNS_TYPES, hiveTypeInfoNames);
    conf.setBoolean(ColumnProjectionUtils.READ_ALL_COLUMNS, true);

    HiveConf.setBoolVar(conf, HiveConf.ConfVars.HIVE_VECTORIZATION_ENABLED, true);
    HiveConf.setVar(conf, HiveConf.ConfVars.PLAN, "//tmp");
    JobConf vectorJob = new JobConf(conf);

    VectorizedOrcInputFormat.setInputPaths(vectorJob, dataFilePath);

    MapWork mapWork = new MapWork();
    VectorizedRowBatchCtx rbCtx = new VectorizedRowBatchCtx();
    rbCtx.init(oi, new String[0]);
    mapWork.setVectorMode(true);
    mapWork.setVectorizedRowBatchCtx(rbCtx);
    mapWork.deriveLlap(conf, false);
    Utilities.setMapWork(vectorJob, mapWork);
    return vectorJob;
  }
Creates a mock vectorized ORC read job for a particular data file and a read schema (projecting on all columns)
@param schema readSchema
@param dataFilePath data file path
@return JobConf instance
@throws HiveException any failure during job creation
iceberg/iceberg-handler/src/test/java/org/apache/iceberg/mr/hive/vector/TestHiveIcebergVectorization.java