[−][src]Struct arrow::record_batch::RecordBatch
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]
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 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]
fn clone(&self) -> RecordBatch
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug 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 Into<StructArray> for RecordBatch
[src]
fn into(self) -> StructArray
[src]
Auto Trait Implementations
impl !RefUnwindSafe for RecordBatch
impl Send for RecordBatch
impl Sync for RecordBatch
impl Unpin for RecordBatch
impl !UnwindSafe for RecordBatch
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,