Skip to content

Latest commit

 

History

History
 
 

rust

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

Native Rust implementation of Apache Arrow

Build Status Coverage Status

Status

This is a starting point for a native Rust implementation of Arrow.

The current code demonstrates arrays of primitive types and structs.

Creating an Array from a Vec

// create a memory-aligned Arrow array from an existing Vec
let array = Array::from(vec![1,2,3,4,5]);

match array.data() {
    &ArrayData::Int32(ref buffer) => {
        println!("array contents: {:?}", buffer.iter().collect::<Vec<i32>>());
    }
    _ => {}
}

Creating an Array from a Builder

let mut builder: Builder<i32> = Builder::new();
for i in 0..10 {
    builder.push(i);
}
let buffer = builder.finish();
let array = Array::from(buffer);

Run Examples

Examples can be run using the cargo run --example command. For example:

cargo run --example array_from_builder

Run Tests

cargo test