@Override public <T extends FieldVector> T addOrGet(String childName, FieldType fieldType, Class<T> clazz) { try { Field field = new Field(childName, fieldType, null); final FieldVector v = mutator.addField(field, clazz); putChild(childName, v); return this.typeify(v, clazz); } catch (SchemaChangeException e) { throw new IllegalStateException(e); } }
public void materializeVectors(List<SchemaPath> columns, OutputMutator mutator) { Preconditions.checkNotNull(columns, "A scan's column selection cannot be null."); Set<String> selectedColumns = new HashSet<>(); for (SchemaPath sp : columns) { selectedColumns.add(sp.getRootSegment().getNameSegment().getPath()); } for (Field field : this) { if (columns != null && !selectedColumns.contains("*") && !selectedColumns.contains(field.getName())) { continue; } mutator.addField(field, CompleteType.fromField(field).getValueVectorClass()); } }
public void setup(OutputMutator output){ vector = (BigIntVector)output.getVector(pair.getName()); if (vector == null) { vector = output.addField(CompleteType.BIGINT.toField(pair.name), BigIntVector.class); } }
public void setup(OutputMutator output){ vector = (TimeStampMilliVector)output.getVector(pair.getName()); if (vector == null) { vector = output.addField(CompleteType.TIMESTAMP.toField(pair.name), TimeStampMilliVector.class); } }
public void setup(OutputMutator output){ vector = (BitVector)output.getVector(pair.getName()); if (vector == null) { vector = output.addField(CompleteType.BIT.toField(pair.name), BitVector.class); } }
public void setup(OutputMutator output){ vector = (VarBinaryVector)output.getVector(pair.getName()); if (vector == null) { vector = output.addField(CompleteType.VARBINARY.toField(pair.name), VarBinaryVector.class); } }
public void setup(OutputMutator output){ vector = (IntVector)output.getVector(pair.getName()); if (vector == null) { vector = output.addField(CompleteType.INT.toField(pair.name), IntVector.class); } }
public void setup(OutputMutator output){ vector = (TimeMilliVector)output.getVector(pair.getName()); if (vector == null) { vector = output.addField(CompleteType.TIME.toField(pair.name), TimeMilliVector.class); } }
public void setup(OutputMutator output){ vector = (Float8Vector)output.getVector(pair.getName()); if (vector == null) { vector = output.addField(CompleteType.DOUBLE.toField(pair.name), Float8Vector.class); } }
public void setup(OutputMutator output){ vector = (VarCharVector)output.getVector(pair.getName()); if (vector == null) { vector = output.addField(CompleteType.VARCHAR.toField(pair.name), VarCharVector.class); } }
public void setup(OutputMutator output){ vector = (Float4Vector)output.getVector(pair.getName()); if (vector == null) { vector = output.addField(CompleteType.FLOAT.toField(pair.name), Float4Vector.class); } }
public void setup(OutputMutator output){ vector = (DateMilliVector)output.getVector(pair.getName()); if (vector == null) { vector = output.addField(CompleteType.DATE.toField(pair.name), DateMilliVector.class); } }
@Override public void setup(OutputMutator output) throws ExecutionSetupException { final SequenceFileAsBinaryInputFormat inputFormat = new SequenceFileAsBinaryInputFormat(); final JobConf jobConf = new JobConf(dfs.getConf()); jobConf.setInputFormat(inputFormat.getClass()); reader = getRecordReader(inputFormat, jobConf); final Field keyField = new Field(keySchema, true, getArrowTypeForMajorType(KEY_TYPE), null); final Field valueField = new Field(valueSchema, true, getArrowTypeForMajorType(VALUE_TYPE), null); try { keyVector = output.addField(keyField, VarBinaryVector.class); valueVector = output.addField(valueField, VarBinaryVector.class); } catch (SchemaChangeException sce) { throw new ExecutionSetupException("Error in setting up sequencefile reader.", sce); } }
public void setup(OutputMutator output){ vector = (DecimalVector)output.getVector(name); if (vector == null) { vector = output.addField(new Field(name, true, new Decimal(precision, scale), null), DecimalVector.class); } }
@Override public void init(OutputMutator output) throws SchemaChangeException { // MaterializedField mf = MajorTypeHelper.getFieldForNameAndMajorType(field.getName(), type); org.apache.arrow.vector.types.pojo.Field mf = new org.apache.arrow.vector.types.pojo.Field(field.getName(), true, getArrowMinorType(type.getMinorType()).getType(), null); @SuppressWarnings("unchecked") Class<V> valueVectorClass = (Class<V>) TypeHelper.getValueVectorClass(getArrowMinorType(type.getMinorType())); this.vector = output.addField(mf, valueVectorClass); }
/** * This method is a helper method added for DRILL-951 * TextRecordReader to call this method to get field names out * @return array of field data strings */ public String [] getTextOutput () throws ExecutionSetupException { if (recordCount == 0 || fieldIndex == -1) { return null; } //Currently only first line header is supported. Return only first record. int retSize = fieldIndex+1; String [] out = new String [retSize]; try { ListVector listVector = output.addField(new Field(COL_NAME, true, MinorType.LIST.getType(), null), ListVector.class); List outputlist = (List) listVector.getObject((int)(recordCount-1)); for (int i=0; i<retSize; i++){ out[i] = ((Text) outputlist.get(i)).toString(); } return out; } catch (SchemaChangeException e) { throw new ExecutionSetupException(e); } }
private StructVector getOrCreateFamilyVector(OutputMutator output, String familyName, boolean allocateOnCreate) { StructVector v = familyVectorMap.get(familyName); if(v == null) { SchemaPath column = SchemaPath.getSimplePath(familyName); Field field = getFieldForNameAndMajorType(column.getAsNamePart().getName(), COLUMN_FAMILY_TYPE); if (sample) { v = outputMutator.addField(field, StructVector.class); if (allocateOnCreate) { v.allocateNew(); } } else { v = (StructVector) output.getVector(column.getAsNamePart().getName()); } getColumns().add(column); familyVectorMap.put(familyName, v); } return v; }
public void setup(OutputMutator output){ vector = (DecimalVector)output.getVector(pair.getName()); if (vector == null) { vector = output.addField(new Field(pair.getName(), true, new Decimal(value.precision, value.scale), null), DecimalVector.class); } }
if (sample) { Field field = CompleteType.VARBINARY.toField(column.getAsNamePart().getName()); rowKeyVector = outputMutator.addField(field, VarBinaryVector.class); } else { rowKeyVector = (VarBinaryVector) output.getVector(ROW_KEY);
@Override public void setup(OutputMutator output) throws ExecutionSetupException { try { final int estimateRowSize = getEstimatedRecordSize(config.getTypes()); valueVectors = new ValueVector[config.getTypes().length]; batchRecordCount = 250000 / estimateRowSize; for (int i = 0; i < config.getTypes().length; i++) { final MajorType type = config.getTypes()[i].getMajorType(); final Field field = getVector(config.getTypes()[i].getName(), type, batchRecordCount); final Class<? extends ValueVector> vvClass = (Class<? extends ValueVector>) TypeHelper.getValueVectorClass(getMinorTypeForArrowType(field.getType())); valueVectors[i] = output.addField(field, vvClass); } } catch (SchemaChangeException e) { throw new ExecutionSetupException("Failure while setting up fields", e); } }