Apache Arrow
Apache Arrow integration in DataVec — ArrowRecordReader and zero-copy data exchange
What Arrow Provides
Row-oriented: [row0_col0, row0_col1, row0_col2], [row1_col0, row1_col1, row1_col2], ...
Column-oriented: [row0_col0, row1_col0, row2_col0, ...], [row0_col1, row1_col1, row2_col1, ...]ArrowRecordReader
import org.datavec.arrow.recordreader.ArrowRecordReader;
ArrowRecordReader reader = new ArrowRecordReader();
reader.initialize(new FileSplit(new File("/data/batch.arrow")));
while (reader.hasNext()) {
List<Writable> record = reader.next();
// use the record
}ArrowWritableRecordBatch
Converting Between Arrow and DataVec
From Arrow VectorSchemaRoot to List<List>
From List<List> to Arrow
Use Cases
High-Performance Batch Loading
Python-Java Interoperability
Spark to DataVec
Type Mapping
Arrow Type
DataVec Writable
Memory Management
Last updated
Was this helpful?