serde_arrow

Function from_arrow

source
pub fn from_arrow<'de, T, A>(fields: &[FieldRef], arrays: &'de [A]) -> Result<T>
where T: Deserialize<'de>, A: AsRef<dyn Array>,
Expand description

Deserialize items from arrow arrays (requires one of the arrow-* features)

The type should be a list of records (e.g., a vector of structs). To deserialize items encoding single values consider the Items wrapper.

use arrow::datatypes::FieldRef;
use serde::{Deserialize, Serialize};
use serde_arrow::schema::{SchemaLike, TracingOptions};

#[derive(Deserialize, Serialize)]
struct Record {
    a: Option<f32>,
    b: u64,
}

let fields = Vec::<FieldRef>::from_type::<Record>(TracingOptions::default())?;
let items: Vec<Record> = serde_arrow::from_arrow(&fields, &arrays)?;