public void allocate(){ vector.allocateNew(); }
@Override public void allocate() { vector.allocateNew(); }
/** * * @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; }
/** * * @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; }
public void loadData(SerializedField metadata, ArrowBuf buffer) { /* clear the current buffers (if any) */ vector.clear(); /* get the metadata children */ final SerializedField bitsField = metadata.getChild(0); final SerializedField valuesField = metadata.getChild(1); final int valuesLength = buffer.capacity(); vector.allocateNew(metadata.getValueCount()); /* set inner validity buffer */ setValidityBuffer(bitsField); /* load inner value buffer */ vector.valueBuffer.close(); loadDataBuffer(valuesField, buffer.slice(0, valuesLength)); }
private static Pair<Float4Vector, ResultVerifier> testFloat4Vector(final int startIndexInCurrentOutput, final int startIndexInJob) { Float4Vector colFloat4V = new Float4Vector("colFloat4", allocator); colFloat4V.allocateNew(5); colFloat4V.set(0, 20.0f); colFloat4V.set(1, 50.023f); colFloat4V.set(2, -238423f); colFloat4V.setNull(3); colFloat4V.set(4, 0f); ResultVerifier verifier = new ResultVerifier() { @Override public void verify(DataPOJO output) { int index = startIndexInCurrentOutput; assertEquals(20.0d, ((Double)output.extractValue("colFloat4", index++)).doubleValue(), 0.01f); assertEquals(50.023d, ((Double)output.extractValue("colFloat4", index++)).doubleValue(), 0.01f); assertEquals(-238423d, ((Double)output.extractValue("colFloat4", index++)).doubleValue(), 0.01f); assertNull(output.extractValue("colFloat4", index++)); assertEquals(0d, ((Double)output.extractValue("colFloat4", index++)).doubleValue(), 0.01f); } }; return Pair.of(colFloat4V, verifier); }