Expand description
This module is the bridge between a Parquet file’s thrift encoded metadata and this crate’s Parquet metadata API. It contains objects and functions used to serialize/deserialize metadata objects into/from the Thrift compact protocol format as defined by the Parquet specification.
Re-exports§
use std::io::Write;🔒use std::sync::Arc;🔒use crate::file::column_crypto_metadata::ColumnCryptoMetaData;🔒use crate::file::metadata::thrift::encryption::EncryptionAlgorithm;🔒use crate::basic::ColumnOrder;🔒use crate::basic::CompressionCodec;🔒use crate::basic::ConvertedType;🔒use crate::basic::Encoding;🔒use crate::basic::EncodingMask;🔒use crate::basic::LogicalType;🔒use crate::basic::PageType;🔒use crate::basic::Repetition;🔒use crate::basic::Type;🔒use crate::data_type::ByteArray;🔒use crate::data_type::FixedLenByteArray;🔒use crate::data_type::Int96;🔒use crate::errors::ParquetError;🔒use crate::errors::Result;🔒use crate::file::metadata::ColumnChunkMetaData;🔒use crate::file::metadata::ColumnChunkMetaDataBuilder;🔒use crate::file::metadata::FileMetaData;🔒use crate::file::metadata::KeyValue;🔒use crate::file::metadata::LevelHistogram;🔒use crate::file::metadata::PageEncodingStats;🔒use crate::file::metadata::ParquetMetaData;🔒use crate::file::metadata::ParquetMetaDataOptions;🔒use crate::file::metadata::ParquetPageEncodingStats;🔒use crate::file::metadata::RowGroupMetaData;🔒use crate::file::metadata::RowGroupMetaDataBuilder;🔒use crate::file::metadata::SortingColumn;🔒use crate::file::statistics::ValueStatistics;🔒use crate::parquet_thrift::ElementType;🔒use crate::parquet_thrift::FieldType;🔒use crate::parquet_thrift::ReadThrift;🔒use crate::parquet_thrift::ThriftCompactInputProtocol;🔒use crate::parquet_thrift::ThriftCompactOutputProtocol;🔒use crate::parquet_thrift::ThriftSliceInputProtocol;🔒use crate::parquet_thrift::WriteThrift;🔒use crate::parquet_thrift::WriteThriftField;🔒use crate::parquet_thrift::check_list_size;🔒use crate::parquet_thrift::read_thrift_vec;🔒use crate::parquet_thrift::validate_list_type;🔒use crate::schema::types::ColumnDescriptor;🔒use crate::schema::types::SchemaDescriptor;🔒use crate::schema::types::TypePtr;🔒use crate::schema::types::num_nodes;🔒use crate::schema::types::parquet_schema_from_array;🔒use crate::util::bit_util::FromBytes;🔒use crate::geospatial::statistics::GeospatialStatistics as RustGeospatialStatistics;🔒use crate::geospatial::bounding_box::BoundingBox as RustBoundingBox;🔒
Modules§
- encryption 🔒
- Encryption support for Thrift serialization
Structs§
- Bounding
Box 🔒 - Data
Page 🔒Header - Data
Page 🔒Header V2 - Dictionary
Page 🔒Header - File
Meta 🔒 - Geospatial
Statistics 🔒 - Index
Page 🔒Header - Page
Header 🔒 - Page
Statistics 🔒 - Statistics for the page header.
- Schema
Element 🔒 - Size
Statistics 🔒 - Statistics 🔒
Constants§
- COL_
META_ 🔒ALL_ REQUIRED - COL_
META_ 🔒CODEC - COL_
META_ 🔒DATA_ PAGE_ OFFSET - COL_
META_ 🔒ENCODINGS - COL_
META_ 🔒NUM_ VALUES - COL_
META_ 🔒TOTAL_ COMP_ SZ - COL_
META_ 🔒TOTAL_ UNCOMP_ SZ - COL_
META_ 🔒TYPE
Functions§
- convert_
bounding_ 🔒box - convert_
geo_ 🔒stats - convert_
stats 🔒 - Create a
crate::file::statistics::Statisticsfrom a thriftStatisticsobject. - ensure_
row_ 🔒group_ ordinals - Ensure
RowGroupMetaData::ordinalis usable after decode without rejecting spec-valid files (RowGroup.ordinalis optional in the parquet-format Thrift definition, with no uniformity requirement): - file_
metadata_ 🔒and_ row_ groups_ from_ bytes - parquet_
metadata_ 🔒from_ bytes - Create
ParquetMetaDatafrom thrift input. Note that this only decodes the file metadata in the Parquet footer. Page indexes will need to be added later. - parquet_
schema_ 🔒from_ bytes - Create a
SchemaDescriptorfrom thrift input. The input buffer must contain a complete Parquet footer. - read_
column_ 🔒chunk - read_
column_ 🔒metadata - read_
encoding_ 🔒stats_ as_ mask - read_
row_ 🔒group - serialize_
column_ 🔒meta_ data - should_
write_ 🔒column_ stats - validate_
column_ 🔒metadata - write_
schema 🔒 - write_
schema_ 🔒helper