public void populate(final int count){ for (int i = 0; i < count; i++) { if(value != null) { ((Float4Vector) vector).setSafe(i, value); } } vector.setValueCount(count); }
private static void writeFloatData(Float4Vector vector, int valueCount) { final float even = 20.3f; final float odd = 40.2f; for (int i = 0; i < valueCount; i++) { if (i % 2 == 0) { vector.setSafe(i, even); } else { vector.setSafe(i, odd); } } vector.setValueCount(valueCount); }
/** * * @param allocator * @param name * @param length the length of the vector * @return */ public static Float4Vector floatVectorOf(BufferAllocator allocator,String name,int length) { Float4Vector float4Vector = new Float4Vector(name,allocator); float4Vector.allocateNew(length); float4Vector.setValueCount(length); return float4Vector; }
public void writeNull() { vector.setNull(idx()); vector.setValueCount(idx()+1); } }
public void write(Float4Holder h) { vector.setSafe(idx(), h); vector.setValueCount(idx()+1); }
public void write(NullableFloat4Holder h) { vector.setSafe(idx(), h); vector.setValueCount(idx()+1); }
public void writeFloat4(float value) { vector.setSafe(idx(), 1, value); vector.setValueCount(idx()+1); }
/** * * @param allocator * @param name * @param data * @return */ public static Float4Vector vectorFor(BufferAllocator allocator,String name,float[] data) { Float4Vector float4Vector = new Float4Vector(name,allocator); float4Vector.allocateNew(data.length); for(int i = 0; i < data.length; i++) { float4Vector.setSafe(i,data[i]); } float4Vector.setValueCount(data.length); return float4Vector; }
private void populateFloat(Float4Vector vector, Float[] data) { vector.allocateNew(); Random r = new Random(); for(int i =0; i < data.length; i++){ Float val = data[i]; if(val != null){ vector.setSafe(i, val); } else { vector.setSafe(i, 0, r.nextFloat()); } } vector.setValueCount(data.length); }
private static VectorContainer buildFloatGlobalDictionary(List<Dictionary> dictionaries, VectorContainer existingDict, ColumnDescriptor columnDescriptor, BufferAllocator bufferAllocator) { final Field field = new Field(SchemaPath.getCompoundPath(columnDescriptor.getPath()).getAsUnescapedPath(), true, new ArrowType.FloatingPoint(FloatingPointPrecision.SINGLE), null); final VectorContainer input = new VectorContainer(bufferAllocator); final Float4Vector floatVector = input.addOrGet(field); floatVector.allocateNew(); SortedSet<Float> values = Sets.newTreeSet(); for (Dictionary dictionary : dictionaries) { for (int i = 0; i <= dictionary.getMaxId(); ++i) { values.add(dictionary.decodeToFloat(i)); } } if (existingDict != null) { final Float4Vector existingDictValues = existingDict.getValueAccessorById(Float4Vector.class, 0).getValueVector(); for (int i = 0; i < existingDict.getRecordCount(); ++i) { values.add(existingDictValues.get(i)); } } final Iterator<Float> iter = values.iterator(); int recordCount = 0; while (iter.hasNext()) { floatVector.setSafe(recordCount++, iter.next()); } floatVector.setValueCount(recordCount); input.setRecordCount(recordCount); input.buildSchema(BatchSchema.SelectionVectorMode.NONE); return input; }
final Float4Vector dictionary = dictionaries.get(fieldName).getValueAccessorById(Float4Vector.class, 0).getValueVector(); decodeFloat(input, output, dictionary); output.setValueCount(recordsConsumedCurrentBatch);