pub struct ParquetSink { /* private fields */ }
Expand description
Implements DataSink
for writing to a parquet file.
Implementations§
Source§impl ParquetSink
impl ParquetSink
Sourcepub fn new(config: FileSinkConfig, parquet_options: TableParquetOptions) -> Self
pub fn new(config: FileSinkConfig, parquet_options: TableParquetOptions) -> Self
Create from config.
Sourcepub fn written(&self) -> HashMap<Path, FileMetaData>
pub fn written(&self) -> HashMap<Path, FileMetaData>
Retrieve the file metadata for the written files, keyed to the path which may be partitioned (in the case of hive style partitioning).
Sourcepub fn parquet_options(&self) -> &TableParquetOptions
pub fn parquet_options(&self) -> &TableParquetOptions
Parquet options
Trait Implementations§
Source§impl DataSink for ParquetSink
impl DataSink for ParquetSink
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 Debug for ParquetSink
impl Debug for ParquetSink
Source§impl DisplayAs for ParquetSink
impl DisplayAs for ParquetSink
Source§impl FileSink for ParquetSink
impl FileSink for ParquetSink
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 ParquetSink
impl !RefUnwindSafe for ParquetSink
impl Send for ParquetSink
impl Sync for ParquetSink
impl Unpin for ParquetSink
impl !UnwindSafe for ParquetSink
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