Struct arrow::json::reader::Decoder [−][src]
pub struct Decoder { /* fields omitted */ }
Expand description
JSON values to Arrow record batch decoder. Decoder’s next_batch method takes a JSON Value iterator as input and outputs Arrow record batch.
Examples
use arrow::json::reader::{Decoder, ValueIter, infer_json_schema}; use std::fs::File; use std::io::{BufReader, Seek, SeekFrom}; use std::sync::Arc; let mut reader = BufReader::new(File::open("test/data/mixed_arrays.json").unwrap()); let inferred_schema = infer_json_schema(&mut reader, None).unwrap(); let batch_size = 1024; let decoder = Decoder::new(Arc::new(inferred_schema), batch_size, None); // seek back to start so that the original file is usable again reader.seek(SeekFrom::Start(0)).unwrap(); let mut value_reader = ValueIter::new(&mut reader, None); let batch = decoder.next_batch(&mut value_reader).unwrap().unwrap(); assert_eq!(4, batch.num_rows()); assert_eq!(4, batch.num_columns());
Implementations
impl Decoder
[src]
impl Decoder
[src]pub fn new(
schema: SchemaRef,
batch_size: usize,
projection: Option<Vec<String>>
) -> Self
[src]
pub fn new(
schema: SchemaRef,
batch_size: usize,
projection: Option<Vec<String>>
) -> Self
[src]Create a new JSON decoder from any value that implements the Iterator<Item=Result<Value>>
trait.
pub fn schema(&self) -> SchemaRef
[src]
pub fn schema(&self) -> SchemaRef
[src]Returns the schema of the reader, useful for getting the schema without reading record batches
pub fn next_batch<I>(&self, value_iter: &mut I) -> Result<Option<RecordBatch>> where
I: Iterator<Item = Result<Value>>,
[src]
pub fn next_batch<I>(&self, value_iter: &mut I) -> Result<Option<RecordBatch>> where
I: Iterator<Item = Result<Value>>,
[src]Read the next batch of records
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Decoder
impl Send for Decoder
impl Sync for Decoder
impl Unpin for Decoder
impl UnwindSafe for Decoder
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,