pub struct CsvSink { /* private fields */ }
Expand description
Implements DataSink
for writing to a CSV file.
Implementations§
Source§impl CsvSink
impl CsvSink
Sourcepub fn new(config: FileSinkConfig, writer_options: CsvWriterOptions) -> Self
pub fn new(config: FileSinkConfig, writer_options: CsvWriterOptions) -> Self
Create from config.
Sourcepub fn writer_options(&self) -> &CsvWriterOptions
pub fn writer_options(&self) -> &CsvWriterOptions
Retrieve the writer options
Trait Implementations§
Source§impl DataSink for CsvSink
impl DataSink for CsvSink
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 CsvSink
impl FileSink for CsvSink
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 CsvSink
impl !RefUnwindSafe for CsvSink
impl Send for CsvSink
impl Sync for CsvSink
impl Unpin for CsvSink
impl !UnwindSafe for CsvSink
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