Expand description
Contains writer which writes arrow data into parquet data.
Re-exportsΒ§
use crate::column::chunker::ContentDefinedChunker;πuse bytes::Bytes;πuse std::io::Write;πuse std::ops::Range;πuse std::slice::Iter;πuse std::sync::Arc;πuse std::sync::Mutex;πuse std::vec::IntoIter;πuse arrow_array::cast::AsArray;πuse arrow_array::ArrayRef;πuse arrow_array::Int32Array;πuse arrow_array::RecordBatch;πuse arrow_array::RecordBatchWriter;πuse arrow_array::new_empty_array;πuse arrow_array::PrimitiveArray;πuse arrow_schema::ArrowError;πuse arrow_schema::DataType as ArrowDataType;πuse arrow_schema::Field;πuse arrow_schema::FieldRef;πuse arrow_schema::IntervalUnit;πuse arrow_schema::SchemaRef;πuse arrow_schema::TimeUnit;πuse super::schema::add_encoded_arrow_schema_to_metadata;πuse super::schema::decimal_length_from_precision;πuse super::schema::validate_map_key_type;πuse crate::arrow::ArrowSchemaConverter;πuse crate::arrow::arrow_writer::byte_array::ByteArrayEncoder;πuse crate::basic::PageType;πuse crate::column::page::CompressedPage;πuse crate::column::page::PageWriteSpec;πuse crate::column::page::PageWriter;πuse crate::column::page_encryption::PageEncryptor;πuse crate::column::writer::encoder::ColumnValueEncoder;πuse crate::column::writer::ColumnCloseResult;πuse crate::column::writer::ColumnWriter;πuse crate::column::writer::ColumnWriterImpl;πuse crate::column::writer::GenericColumnWriter;πuse crate::column::writer::get_column_writer;πuse crate::data_type::ByteArray;πuse crate::data_type::FixedLenByteArray;πuse crate::data_type::FixedLenByteArrayType;πuse std::collections::HashSet;πuse crate::encryption::encrypt::FileEncryptor;πuse crate::errors::ParquetError;πuse crate::errors::Result;πuse crate::file::metadata::KeyValue;πuse crate::file::metadata::ParquetMetaData;πuse crate::file::metadata::RowGroupMetaData;πuse crate::file::properties::WriterProperties;πuse crate::file::properties::WriterPropertiesPtr;πuse crate::file::writer::SerializedFileWriter;πuse crate::file::writer::SerializedRowGroupWriter;πuse crate::parquet_thrift::ThriftCompactOutputProtocol;πuse crate::parquet_thrift::WriteThrift;πuse crate::schema::types::ColumnDescPtr;πuse crate::schema::types::SchemaDescriptor;πuse levels::ArrayLevels;πuse levels::calculate_array_levels;πuse arrow_array::types::*;π
ModulesΒ§
- byte_
array π - levels π
- Parquet definition and repetition levels
StructsΒ§
- Arrow
Column Chunk - The data for a single column chunk, see
ArrowColumnWriter - Arrow
Column πChunk Data - A single column chunk produced by
ArrowColumnWriter. - Arrow
Column Writer - Encodes
ArrowLeafColumntoArrowColumnChunk - Arrow
Column πWriter Factory - Creates
ArrowColumnWriterinstances - Arrow
Leaf Column - A leaf column that can be encoded by
ArrowColumnWriter - Arrow
Page πWriter - Arrow
RowGroup πWriter - Encodes [
RecordBatch] to a parquet row group - Arrow
RowGroup Writer Factory - Factory that creates new column writers for each row group in the Parquet file.
- Arrow
TopLevel πWriter Spec - Associates a top-level Arrow field with its range of Parquet leaf writers.
- Arrow
Write πSchema Plan - Immutable schema glue shared by every row group.
- Arrow
Writer - Encodes [
RecordBatch] to parquet - Arrow
Writer Options - Arrow-specific configuration settings for writing parquet files.
- InMemory
Page Store - The default
PageStore, holding blobs on the heap in aVec<Bytes>. - InMemory
Page Store Factory - Factory for
InMemoryPageStoreβ the default used byArrowWriter. - PageKey
- An opaque, store-allocated handle to a blob held by a
PageStore. - Page
Store Args - Context for a single
PageStoreFactory::createcall. - Streaming
Column πChunk Pages - A streaming iterator over one column chunkβs buffered page blobs, in final file order: the dictionary page (if any) first, then the data pages.
- Write
Fixed πLenByte Array - Writes the values passed to it to a
FIXED_LEN_BYTE_ARRAYcolumn - Write
Primitive π - Writes the values passed to it to an
INT32orINT64column
EnumsΒ§
- Arrow
Column πWriter Impl - Arrow
Write πSchema Plan Error - Replayable schema-planning errors kept only for the deprecated
ArrowRowGroupWriterFactory::newconstructor. It cannot return errors, and repeatedcreate_column_writers(&self)calls need fresh owned errors.ArrowRowGroupWriterFactory::try_newreturns the original error directly.
TraitsΒ§
- Fixed
LenByte πArray Visitor - Receives the values
ArrowWriterstores for an Arrow array in aFIXED_LEN_BYTE_ARRAYcolumn, which are also the values hashed into the columnβs bloom filter - Native
Decimal πType - Page
Store - A pluggable store for completed, serialized page blobs.
- Page
Store Factory - Creates a fresh
PageStorefor each column chunk. - Primitive
Visitor π - Receives the values
ArrowWriterstores for an Arrow array in anINT32(T = i32) orINT64(T = i64) column, which are also the values hashed into the columnβs bloom filter
FunctionsΒ§
- chunk_
array_ πslice - chunk_
contiguous_ πvec - compute_
leaves - Computes the
ArrowLeafColumnfor a potentially nested [ArrayRef] - fixed_
byte_ πwidth - Returns the fixed byte width for primitive Arrow types, or
Nonefor variable-length types. - get_
bool_ πarray_ slice - hash_
bytes π - Hash a byte slice to a u64 for NDV tracking.
- update_
distinct_ πvalues_ seen - Hash the non-null values in
array(atnon_null_indices) intoseen. - visit_
decimal π - Passes the big-endian twoβs complement bytes of the values of
arraytovisitor - visit_
fixed_ πlen_ byte_ array - Passes the values
ArrowWriterstores forcolumnin aFIXED_LEN_BYTE_ARRAYcolumn tovisitor - visit_
i32 π - Passes the values
ArrowWriterstores forcolumnin anINT32column tovisitor - visit_
i64 π - Passes the values
ArrowWriterstores forcolumnin anINT64column tovisitor - write_
leaf π - write_
primitive π
Type AliasesΒ§
- Distinct
Values πSet - Shared
Column πChunk - A shared
ArrowColumnChunkData