arrow2 0.10.1

Unofficial implementation of Apache Arrow spec in safe Rust
Documentation
use std::fs::File;
use std::io::BufReader;

use arrow2::error::Result;
use arrow2::io::avro::read;

fn main() -> Result<()> {
    use std::env;
    let args: Vec<String> = env::args().collect();

    let path = &args[1];

    let file = &mut BufReader::new(File::open(path)?);

    let (avro_schema, schema, codec, file_marker) = read::read_metadata(file)?;

    println!("{:#?}", avro_schema);

    let reader = read::Reader::new(
        read::Decompressor::new(read::BlockStreamIterator::new(file, file_marker), codec),
        avro_schema,
        schema.fields,
        None,
    );

    for maybe_chunk in reader {
        let columns = maybe_chunk?;
        assert!(!columns.is_empty());
    }
    Ok(())
}