@Override public Object initValue(Object ignored) { return ((SettableUnionObjectInspector) this.objectInspector).create(); }
public UnionConverter(ObjectInspector inputOI, SettableUnionObjectInspector outputOI) { if (inputOI instanceof UnionObjectInspector) { this.inputOI = (UnionObjectInspector)inputOI; this.outputOI = outputOI; inputTagsOIs = this.inputOI.getObjectInspectors(); outputTagsOIs = outputOI.getObjectInspectors(); // If the output has some extra fields, set them to NULL in convert(). int minFields = Math.min(inputTagsOIs.size(), outputTagsOIs.size()); fieldConverters = new ArrayList<Converter>(minFields); for (int f = 0; f < minFields; f++) { fieldConverters.add(getConverter(inputTagsOIs.get(f), outputTagsOIs.get(f))); } // Create an empty output object which will be populated when convert() is invoked. output = outputOI.create(); } else if (!(inputOI instanceof VoidObjectInspector)) { throw new RuntimeException("Hive internal error: conversion of " + inputOI.getTypeName() + " to " + outputOI.getTypeName() + "not supported yet."); } }
private Object convertUnionRowColumn( ColumnVector colVector, int batchIndex, Field field) throws IOException { final SettableUnionObjectInspector unionOI = (SettableUnionObjectInspector) field.objectInspector; final UnionComplexTypeHelper unionHelper = (UnionComplexTypeHelper) field.getComplexHelper(); final Field[] fields = unionHelper.getFields(); final UnionColumnVector unionColumnVector = (UnionColumnVector) colVector; final Object union = unionOI.create(); final int tag = deserializeRead.currentInt; unionOI.setFieldAndTag(union, new StandardUnion((byte) tag, convertComplexFieldRowColumn(unionColumnVector.fields[tag], batchIndex, fields[tag])), (byte) tag); deserializeRead.finishComplexVariableFieldsType(); return union; }
public UnionConverter(ObjectInspector inputOI, SettableUnionObjectInspector outputOI) { if (inputOI instanceof UnionObjectInspector) { this.inputOI = (UnionObjectInspector)inputOI; this.outputOI = outputOI; inputFields = this.inputOI.getObjectInspectors(); outputFields = outputOI.getObjectInspectors(); // If the output has some extra fields, set them to NULL in convert(). int minFields = Math.min(inputFields.size(), outputFields.size()); fieldConverters = new ArrayList<Converter>(minFields); for (int f = 0; f < minFields; f++) { fieldConverters.add(getConverter(inputFields.get(f), outputFields.get(f))); } // Create an empty output object which will be populated when convert() is invoked. output = outputOI.create(); } else if (!(inputOI instanceof VoidObjectInspector)) { throw new RuntimeException("Hive internal error: conversion of " + inputOI.getTypeName() + " to " + outputOI.getTypeName() + "not supported yet."); } }
public UnionConverter(ObjectInspector inputOI, SettableUnionObjectInspector outputOI) { if (inputOI instanceof UnionObjectInspector) { this.inputOI = (UnionObjectInspector)inputOI; this.outputOI = outputOI; inputFields = this.inputOI.getObjectInspectors(); outputFields = outputOI.getObjectInspectors(); // If the output has some extra fields, set them to NULL in convert(). int minFields = Math.min(inputFields.size(), outputFields.size()); fieldConverters = new ArrayList<Converter>(minFields); for (int f = 0; f < minFields; f++) { fieldConverters.add(getConverter(inputFields.get(f), outputFields.get(f))); } // Create an empty output object which will be populated when convert() is invoked. output = outputOI.create(); } else if (!(inputOI instanceof VoidObjectInspector)) { throw new RuntimeException("Hive internal error: conversion of " + inputOI.getTypeName() + " to " + outputOI.getTypeName() + "not supported yet."); } }
public UnionConverter(ObjectInspector inputOI, SettableUnionObjectInspector outputOI) { if (inputOI instanceof UnionObjectInspector) { this.inputOI = (UnionObjectInspector)inputOI; this.outputOI = outputOI; inputTagsOIs = this.inputOI.getObjectInspectors(); outputTagsOIs = outputOI.getObjectInspectors(); // If the output has some extra fields, set them to NULL in convert(). int minFields = Math.min(inputTagsOIs.size(), outputTagsOIs.size()); fieldConverters = new ArrayList<Converter>(minFields); for (int f = 0; f < minFields; f++) { fieldConverters.add(getConverter(inputTagsOIs.get(f), outputTagsOIs.get(f))); } // Create an empty output object which will be populated when convert() is invoked. output = outputOI.create(); } else if (!(inputOI instanceof VoidObjectInspector)) { throw new RuntimeException("Hive internal error: conversion of " + inputOI.getTypeName() + " to " + outputOI.getTypeName() + "not supported yet."); } }
public UnionConverter(ObjectInspector inputOI, SettableUnionObjectInspector outputOI) { if (inputOI instanceof UnionObjectInspector) { this.inputOI = (UnionObjectInspector)inputOI; this.outputOI = outputOI; inputFields = this.inputOI.getObjectInspectors(); outputFields = outputOI.getObjectInspectors(); // If the output has some extra fields, set them to NULL in convert(). int minFields = Math.min(inputFields.size(), outputFields.size()); fieldConverters = new ArrayList<Converter>(minFields); for (int f = 0; f < minFields; f++) { fieldConverters.add(getConverter(inputFields.get(f), outputFields.get(f))); } // Create an empty output object which will be populated when convert() is invoked. output = outputOI.create(); } else if (!(inputOI instanceof VoidObjectInspector)) { throw new RuntimeException("Hive internal error: conversion of " + inputOI.getTypeName() + " to " + outputOI.getTypeName() + "not supported yet."); } }