pub struct RecordBatchWriter { /* private fields */ }
Expand description
Writes messages to a delta lake table.
Implementations§
Source§impl RecordBatchWriter
impl RecordBatchWriter
Sourcepub fn try_new(
table_uri: impl AsRef<str>,
schema: ArrowSchemaRef,
partition_columns: Option<Vec<String>>,
storage_options: Option<HashMap<String, String>>,
) -> Result<Self, DeltaTableError>
pub fn try_new( table_uri: impl AsRef<str>, schema: ArrowSchemaRef, partition_columns: Option<Vec<String>>, storage_options: Option<HashMap<String, String>>, ) -> Result<Self, DeltaTableError>
Create a new RecordBatchWriter
instance
Sourcepub fn for_table(table: &DeltaTable) -> Result<Self, DeltaTableError>
pub fn for_table(table: &DeltaTable) -> Result<Self, DeltaTableError>
Creates a RecordBatchWriter
to write data to provided Delta Table
Sourcepub fn buffer_len(&self) -> usize
pub fn buffer_len(&self) -> usize
Returns the current byte length of the in memory buffer. This may be used by the caller to decide when to finalize the file write.
Sourcepub fn buffered_record_batch_count(&self) -> usize
pub fn buffered_record_batch_count(&self) -> usize
Returns the number of records held in the current buffer.
Sourcepub fn arrow_schema(&self) -> ArrowSchemaRef
pub fn arrow_schema(&self) -> ArrowSchemaRef
Returns the arrow schema representation of the delta table schema defined for the wrapped table.
Sourcepub async fn write_partition(
&mut self,
record_batch: RecordBatch,
partition_values: &IndexMap<String, Scalar>,
mode: WriteMode,
) -> Result<ArrowSchemaRef, DeltaTableError>
pub async fn write_partition( &mut self, record_batch: RecordBatch, partition_values: &IndexMap<String, Scalar>, mode: WriteMode, ) -> Result<ArrowSchemaRef, DeltaTableError>
Write a batch to the specified partition
Sourcepub fn with_writer_properties(self, writer_properties: WriterProperties) -> Self
pub fn with_writer_properties(self, writer_properties: WriterProperties) -> Self
Sets the writer properties for the underlying arrow writer.
Trait Implementations§
Source§impl Debug for RecordBatchWriter
impl Debug for RecordBatchWriter
Source§impl DeltaWriter<RecordBatch> for RecordBatchWriter
impl DeltaWriter<RecordBatch> for RecordBatchWriter
Source§fn write<'life0, 'async_trait>(
&'life0 mut self,
values: RecordBatch,
) -> Pin<Box<dyn Future<Output = Result<(), DeltaTableError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn write<'life0, 'async_trait>(
&'life0 mut self,
values: RecordBatch,
) -> Pin<Box<dyn Future<Output = Result<(), DeltaTableError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Write a chunk of values into the internal write buffers with the default write mode
Source§fn write_with_mode<'life0, 'async_trait>(
&'life0 mut self,
values: RecordBatch,
mode: WriteMode,
) -> Pin<Box<dyn Future<Output = Result<(), DeltaTableError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn write_with_mode<'life0, 'async_trait>(
&'life0 mut self,
values: RecordBatch,
mode: WriteMode,
) -> Pin<Box<dyn Future<Output = Result<(), DeltaTableError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Divides a single record batch into into multiple according to table partitioning. Values are written to arrow buffers, to collect data until it should be written to disk.
Source§fn flush<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<Vec<Add>, DeltaTableError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn flush<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<Vec<Add>, DeltaTableError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Writes the existing parquet bytes to storage and resets internal state to handle another file.
Source§fn flush_and_commit<'life0, 'life1, 'async_trait>(
&'life0 mut self,
table: &'life1 mut DeltaTable,
) -> Pin<Box<dyn Future<Output = Result<i64, DeltaTableError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn flush_and_commit<'life0, 'life1, 'async_trait>(
&'life0 mut self,
table: &'life1 mut DeltaTable,
) -> Pin<Box<dyn Future<Output = Result<i64, DeltaTableError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Flush the internal write buffers to files in the delta table folder structure. and commit the changes to the Delta log, creating a new table version.
Auto Trait Implementations§
impl Freeze for RecordBatchWriter
impl !RefUnwindSafe for RecordBatchWriter
impl Send for RecordBatchWriter
impl !Sync for RecordBatchWriter
impl Unpin for RecordBatchWriter
impl !UnwindSafe for RecordBatchWriter
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more