Struct arrow2::record_batch::RecordBatch[][src]

pub struct RecordBatch { /* fields omitted */ }
Expand description

A two-dimensional dataset with a number of columns (Array) and rows and defined Schema.

Implementation

Cloning is O(C) where C is the number of columns.

Implementations

Creates a RecordBatch from a schema and columns.

Errors

This function errors iff

  • columns is empty
  • the schema and column data types do not match
  • columns have a different length
Example
let id_array = PrimitiveArray::from_slice([1i32, 2, 3, 4, 5]);
let schema = Arc::new(Schema::new(vec![
    Field::new("id", DataType::Int32, false)
]));

let batch = RecordBatch::try_new(
    schema,
    vec![Arc::new(id_array)]
)?;

Creates a RecordBatch from a schema and columns, with additional options, such as whether to strictly validate field names.

See Self::try_new() for the expected conditions.

Creates a new empty RecordBatch.

Returns the Schema of the record batch.

Returns the number of columns in the record batch.

Example
let id_array = PrimitiveArray::from_slice([1i32, 2, 3, 4, 5]);
let schema = Arc::new(Schema::new(vec![
    Field::new("id", DataType::Int32, false)
]));

let batch = RecordBatch::try_new(schema, vec![Arc::new(id_array)])?;

assert_eq!(batch.num_columns(), 1);

Returns the number of rows in each column.

Panics

Panics if the RecordBatch contains no columns.

Example
let id_array = PrimitiveArray::from_slice([1i32, 2, 3, 4, 5]);
let schema = Arc::new(Schema::new(vec![
    Field::new("id", DataType::Int32, false)
]));

let batch = RecordBatch::try_new(schema, vec![Arc::new(id_array)])?;

assert_eq!(batch.num_rows(), 5);

Get a reference to a column’s array by index.

Panics

Panics if index is outside of 0..num_columns.

Get a reference to all columns in the record batch.

Create a RecordBatch from an iterable list of pairs of the form (field_name, array), with the same requirements on fields and arrays as RecordBatch::try_new. This method is often used to create a single RecordBatch from arrays, e.g. for testing.

The resulting schema is marked as nullable for each column if the array for that column is has any nulls. To explicitly specify nullibility, use RecordBatch::try_from_iter_with_nullable

Example:

use std::sync::Arc;
use arrow2::array::*;
use arrow2::datatypes::DataType;
use arrow2::record_batch::RecordBatch;

let a: Arc<dyn Array> = Arc::new(Int32Array::from_slice(&[1, 2]));
let b: Arc<dyn Array> = Arc::new(Utf8Array::<i32>::from_slice(&["a", "b"]));

let record_batch = RecordBatch::try_from_iter(vec![
  ("a", a),
  ("b", b),
]);

Create a RecordBatch from an iterable list of tuples of the form (field_name, array, nullable), with the same requirements on fields and arrays as RecordBatch::try_new. This method is often used to create a single RecordBatch from arrays, e.g. for testing.

Example:

use std::sync::Arc;
use arrow2::array::*;
use arrow2::datatypes::DataType;
use arrow2::record_batch::RecordBatch;

let a: Arc<dyn Array> = Arc::new(Int32Array::from_slice(&[1, 2]));
let b: Arc<dyn Array> = Arc::new(Utf8Array::<i32>::from_slice(&["a", "b"]));

// Note neither `a` nor `b` has any actual nulls, but we mark
// b an nullable
let record_batch = RecordBatch::try_from_iter_with_nullable(vec![
  ("a", a, false),
  ("b", b, true),
]);

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Performs the conversion.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.