pub struct ArrowRowGroupWriterFactory {
schema: SchemaDescPtr,
arrow_schema: SchemaRef,
props: WriterPropertiesPtr,
page_store_factory: Arc<dyn PageStoreFactory>,
file_encryptor: Option<Arc<FileEncryptor>>,
}Expand description
Factory that creates new column writers for each row group in the Parquet file.
You can create this structure via an ArrowWriter::into_serialized_writer.
See the example on ArrowColumnWriter for how to encode columns in parallel
Fields§
§schema: SchemaDescPtr§arrow_schema: SchemaRef§props: WriterPropertiesPtr§page_store_factory: Arc<dyn PageStoreFactory>§file_encryptor: Option<Arc<FileEncryptor>>Implementations§
Source§impl ArrowRowGroupWriterFactory
impl ArrowRowGroupWriterFactory
Sourcepub fn new<W: Write + Send>(
file_writer: &SerializedFileWriter<W>,
arrow_schema: SchemaRef,
) -> Self
pub fn new<W: Write + Send>( file_writer: &SerializedFileWriter<W>, arrow_schema: SchemaRef, ) -> Self
Create a new ArrowRowGroupWriterFactory for the provided file writer and Arrow schema
Sourcepub fn with_page_store_factory(
self,
page_store_factory: Arc<dyn PageStoreFactory>,
) -> Self
pub fn with_page_store_factory( self, page_store_factory: Arc<dyn PageStoreFactory>, ) -> Self
Set the PageStoreFactory used to allocate the buffer for each column
chunk, e.g. to spill completed pages to a temp file or object storage
instead of the heap. Defaults to InMemoryPageStoreFactory.
fn create_row_group_writer( &self, row_group_index: usize, ) -> Result<ArrowRowGroupWriter>
Sourcepub fn create_column_writers(
&self,
row_group_index: usize,
) -> Result<Vec<ArrowColumnWriter>>
pub fn create_column_writers( &self, row_group_index: usize, ) -> Result<Vec<ArrowColumnWriter>>
Create column writers for a new row group, with the given row group index
fn column_writer_factory( &self, row_group_idx: usize, ) -> ArrowColumnWriterFactory
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for ArrowRowGroupWriterFactory
impl !UnwindSafe for ArrowRowGroupWriterFactory
impl Freeze for ArrowRowGroupWriterFactory
impl Send for ArrowRowGroupWriterFactory
impl Sync for ArrowRowGroupWriterFactory
impl Unpin for ArrowRowGroupWriterFactory
impl UnsafeUnpin for ArrowRowGroupWriterFactory
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