deltalake_core::writer::json

Struct JsonWriter

Source
pub struct JsonWriter { /* private fields */ }
Expand description

Writes messages to a delta lake table.

Implementations§

Source§

impl JsonWriter

Source

pub async fn try_new( table_uri: String, schema_ref: ArrowSchemaRef, partition_columns: Option<Vec<String>>, storage_options: Option<HashMap<String, String>>, ) -> Result<Self, DeltaTableError>

Create a new JsonWriter instance

Source

pub fn for_table(table: &DeltaTable) -> Result<JsonWriter, DeltaTableError>

Creates a JsonWriter to write to the given table

Source

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.

Source

pub fn buffered_record_batch_count(&self) -> usize

Returns the number of records held in the current buffer.

Source

pub fn reset(&mut self)

Resets internal state.

Source

pub fn arrow_schema(&self) -> Arc<Schema>

Returns the user-defined arrow schema representation or the schema defined for the wrapped table.

Trait Implementations§

Source§

impl Debug for JsonWriter

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl DeltaWriter<Vec<Value>> for JsonWriter

Source§

fn write<'life0, 'async_trait>( &'life0 mut self, values: Vec<Value>, ) -> 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: Vec<Value>, mode: WriteMode, ) -> Pin<Box<dyn Future<Output = Result<(), DeltaTableError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Writes the given values to internal parquet buffers for each represented partition.

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,

Writes the existing parquet bytes to storage and resets internal state to handle another file.

This function returns the Add actions which should be committed to the DeltaTable for the written data files

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: Send + '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§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> MaybeSendSync for T