pub fn to_arrow<T: Serialize>(
fields: &[FieldRef],
items: T,
) -> Result<Vec<ArrayRef>>Expand description
Build arrow arrays from the given items (requires one of the arrow-*
features)
items should be given in the form a list of records (e.g., a vector of
structs). To serialize items encoding single values consider the
Items wrapper.
To build arrays record by record use ArrayBuilder. To construct a record
batch, consider using to_record_batch.
Example:
use arrow::datatypes::FieldRef;
use serde::{Serialize, Deserialize};
use serde_arrow::schema::{SchemaLike, TracingOptions};
#[derive(Serialize, Deserialize)]
struct Record {
a: Option<f32>,
b: u64,
}
let items = vec![
Record { a: Some(1.0), b: 2},
// ...
];
let fields = Vec::<FieldRef>::from_type::<Record>(TracingOptions::default())?;
let arrays = serde_arrow::to_arrow(&fields, &items)?;