pub struct JsonSink { /* private fields */ }Expand description
Implements DataSink for writing to a Json file.
Implementations§
Source§impl JsonSink
impl JsonSink
Sourcepub fn new(config: FileSinkConfig, writer_options: JsonWriterOptions) -> Self
pub fn new(config: FileSinkConfig, writer_options: JsonWriterOptions) -> Self
Create from config.
Sourcepub fn writer_options(&self) -> &JsonWriterOptions
pub fn writer_options(&self) -> &JsonWriterOptions
Retrieve the writer options
Trait Implementations§
Source§impl DataSink for JsonSink
impl DataSink for JsonSink
Source§fn as_any(&self) -> &dyn Any
fn as_any(&self) -> &dyn Any
Returns the data sink as
Any so that it can be
downcast to a specific implementation.Source§fn write_all<'life0, 'life1, 'async_trait>(
&'life0 self,
data: SendableRecordBatchStream,
context: &'life1 Arc<TaskContext>,
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn write_all<'life0, 'life1, 'async_trait>(
&'life0 self,
data: SendableRecordBatchStream,
context: &'life1 Arc<TaskContext>,
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Writes the data to the sink, returns the number of values written Read more
Source§fn metrics(&self) -> Option<MetricsSet>
fn metrics(&self) -> Option<MetricsSet>
Source§impl FileSink for JsonSink
impl FileSink for JsonSink
Source§fn config(&self) -> &FileSinkConfig
fn config(&self) -> &FileSinkConfig
Retrieves the file sink configuration.
Source§fn spawn_writer_tasks_and_join<'life0, 'life1, 'async_trait>(
&'life0 self,
context: &'life1 Arc<TaskContext>,
demux_task: SpawnedTask<Result<()>>,
file_stream_rx: DemuxedStreamReceiver,
object_store: Arc<dyn ObjectStore>,
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn spawn_writer_tasks_and_join<'life0, 'life1, 'async_trait>(
&'life0 self,
context: &'life1 Arc<TaskContext>,
demux_task: SpawnedTask<Result<()>>,
file_stream_rx: DemuxedStreamReceiver,
object_store: Arc<dyn ObjectStore>,
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Spawns writer tasks and joins them to perform file writing operations.
Is a critical part of
FileSink trait, since it’s the very last step for write_all. Read moreSource§fn write_all<'life0, 'life1, 'async_trait>(
&'life0 self,
data: Pin<Box<dyn RecordBatchStream<Item = Result<RecordBatch, DataFusionError>> + Send>>,
context: &'life1 Arc<TaskContext>,
) -> Pin<Box<dyn Future<Output = Result<u64, DataFusionError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn write_all<'life0, 'life1, 'async_trait>(
&'life0 self,
data: Pin<Box<dyn RecordBatchStream<Item = Result<RecordBatch, DataFusionError>> + Send>>,
context: &'life1 Arc<TaskContext>,
) -> Pin<Box<dyn Future<Output = Result<u64, DataFusionError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
File sink implementation of the
DataSink::write_all method.Auto Trait Implementations§
impl Freeze for JsonSink
impl !RefUnwindSafe for JsonSink
impl Send for JsonSink
impl Sync for JsonSink
impl Unpin for JsonSink
impl !UnwindSafe for JsonSink
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
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>
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 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>
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