Struct arrow::record_batch::RecordBatch [−][src]
pub struct RecordBatch { /* fields omitted */ }
A two-dimensional batch of column-oriented data with a defined schema.
A RecordBatch
is a two-dimensional dataset of a number of
contiguous arrays, each the same length.
A record batch has a schema which must match its arrays’
datatypes.
Record batches are a convenient unit of work for various serialization and computation functions, possibly incremental. See also CSV reader and JSON reader.
Implementations
impl RecordBatch
[src]
impl RecordBatch
[src]pub fn try_new(schema: SchemaRef, columns: Vec<ArrayRef>) -> Result<Self>
[src]
Creates a RecordBatch
from a schema and columns.
Expects the following:
- the vec of columns to not be empty
- the schema and column data types to have equal lengths and match
- each array in columns to have the same length
If the conditions are not met, an error is returned.
Example
use std::sync::Arc; use arrow::array::Int32Array; use arrow::datatypes::{Schema, Field, DataType}; use arrow::record_batch::RecordBatch; let id_array = Int32Array::from(vec![1, 2, 3, 4, 5]); let schema = Schema::new(vec![ Field::new("id", DataType::Int32, false) ]); let batch = RecordBatch::try_new( Arc::new(schema), vec![Arc::new(id_array)] )?;
pub fn try_new_with_options(
schema: SchemaRef,
columns: Vec<ArrayRef>,
options: &RecordBatchOptions
) -> Result<Self>
[src]
schema: SchemaRef,
columns: Vec<ArrayRef>,
options: &RecordBatchOptions
) -> Result<Self>
Creates a RecordBatch
from a schema and columns, with additional options,
such as whether to strictly validate field names.
See RecordBatch::try_new
for the expected conditions.
pub fn new_empty(schema: SchemaRef) -> Self
[src]
Creates a new empty RecordBatch
.
pub fn schema(&self) -> SchemaRef
[src]
Returns the Schema
of the record batch.
pub fn num_columns(&self) -> usize
[src]
Returns the number of columns in the record batch.
Example
use std::sync::Arc; use arrow::array::Int32Array; use arrow::datatypes::{Schema, Field, DataType}; use arrow::record_batch::RecordBatch; let id_array = Int32Array::from(vec![1, 2, 3, 4, 5]); let schema = Schema::new(vec![ Field::new("id", DataType::Int32, false) ]); let batch = RecordBatch::try_new(Arc::new(schema), vec![Arc::new(id_array)])?; assert_eq!(batch.num_columns(), 1);
pub fn num_rows(&self) -> usize
[src]
Returns the number of rows in each column.
Panics
Panics if the RecordBatch
contains no columns.
Example
use std::sync::Arc; use arrow::array::Int32Array; use arrow::datatypes::{Schema, Field, DataType}; use arrow::record_batch::RecordBatch; let id_array = Int32Array::from(vec![1, 2, 3, 4, 5]); let schema = Schema::new(vec![ Field::new("id", DataType::Int32, false) ]); let batch = RecordBatch::try_new(Arc::new(schema), vec![Arc::new(id_array)])?; assert_eq!(batch.num_rows(), 5);
pub fn column(&self, index: usize) -> &ArrayRef
[src]
pub fn columns(&self) -> &[ArrayRef]ⓘ
[src]
Get a reference to all columns in the record batch.
Trait Implementations
impl Clone for RecordBatch
[src]
impl Clone for RecordBatch
[src]fn clone(&self) -> RecordBatch
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl From<&'_ StructArray> for RecordBatch
[src]
impl From<&'_ StructArray> for RecordBatch
[src]fn from(struct_array: &StructArray) -> Self
[src]
Create a record batch from struct array.
This currently does not flatten and nested struct types
impl From<RecordBatch> for StructArray
[src]
impl From<RecordBatch> for StructArray
[src]fn from(batch: RecordBatch) -> Self
[src]
Auto Trait Implementations
impl !RefUnwindSafe for RecordBatch
impl !RefUnwindSafe for RecordBatch
impl Send for RecordBatch
impl Send for RecordBatch
impl Sync for RecordBatch
impl Sync for RecordBatch
impl Unpin for RecordBatch
impl Unpin for RecordBatch
impl !UnwindSafe for RecordBatch
impl !UnwindSafe for RecordBatch