pub struct IpcDataGenerator {}
Expand description
Handles low level details of encoding Array
and Schema
into the
Arrow IPC Format.
§Example:
// Create a record batch
let batch = RecordBatch::try_from_iter(vec![
("col2", Arc::new(UInt64Array::from_iter([10, 23, 33])) as _)
]).unwrap();
// Error of dictionary ids are replaced.
let error_on_replacement = true;
let options = IpcWriteOptions::default();
let mut dictionary_tracker = DictionaryTracker::new(error_on_replacement);
// encode the batch into zero or more encoded dictionaries
// and the data for the actual array.
let data_gen = IpcDataGenerator::default();
let (encoded_dictionaries, encoded_message) = data_gen
.encoded_batch(&batch, &mut dictionary_tracker, &options)
.unwrap();
Implementations§
Source§impl IpcDataGenerator
impl IpcDataGenerator
Sourcepub fn schema_to_bytes_with_dictionary_tracker(
&self,
schema: &Schema,
dictionary_tracker: &mut DictionaryTracker,
write_options: &IpcWriteOptions,
) -> EncodedData
pub fn schema_to_bytes_with_dictionary_tracker( &self, schema: &Schema, dictionary_tracker: &mut DictionaryTracker, write_options: &IpcWriteOptions, ) -> EncodedData
Converts a schema to an IPC message along with dictionary_tracker
and returns it encoded inside EncodedData as a flatbuffer
Preferred method over IpcDataGenerator::schema_to_bytes since it’s deprecated since Arrow v54.0.0
Sourcepub fn schema_to_bytes(
&self,
schema: &Schema,
write_options: &IpcWriteOptions,
) -> EncodedData
👎Deprecated since 54.0.0: Use schema_to_bytes_with_dictionary_tracker
instead. This function signature of schema_to_bytes_with_dictionary_tracker
in the next release.
pub fn schema_to_bytes( &self, schema: &Schema, write_options: &IpcWriteOptions, ) -> EncodedData
schema_to_bytes_with_dictionary_tracker
instead. This function signature of schema_to_bytes_with_dictionary_tracker
in the next release.Converts a schema to an IPC message and returns it encoded inside EncodedData as a flatbuffer
Sourcepub fn encoded_batch(
&self,
batch: &RecordBatch,
dictionary_tracker: &mut DictionaryTracker,
write_options: &IpcWriteOptions,
) -> Result<(Vec<EncodedData>, EncodedData), ArrowError>
pub fn encoded_batch( &self, batch: &RecordBatch, dictionary_tracker: &mut DictionaryTracker, write_options: &IpcWriteOptions, ) -> Result<(Vec<EncodedData>, EncodedData), ArrowError>
Encodes a batch to a number of EncodedData items (dictionary batches + the record batch).
The DictionaryTracker keeps track of dictionaries with new dict_id
s (so they are only sent once)
Make sure the DictionaryTracker is initialized at the start of the stream.
Trait Implementations§
Source§impl Debug for IpcDataGenerator
impl Debug for IpcDataGenerator
Source§impl Default for IpcDataGenerator
impl Default for IpcDataGenerator
Source§fn default() -> IpcDataGenerator
fn default() -> IpcDataGenerator
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for IpcDataGenerator
impl RefUnwindSafe for IpcDataGenerator
impl Send for IpcDataGenerator
impl Sync for IpcDataGenerator
impl Unpin for IpcDataGenerator
impl UnwindSafe for IpcDataGenerator
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more