Expand description
Implementation of Variant Binary Encoding from Apache Parquet.
Β§Main APIs
Variant: Represents a variant value, which can be an object, list, or primitive.VariantBuilder: For buildingVariantvalues.
Β§π§ Work In Progress
This crate is under active development and is not yet ready for production use. If you are interested in helping, you can find more information on the GitHub Variant issue
ModulesΒ§
StructsΒ§
- List
Builder - A builder for creating
Variant::Listvalues. - List
State - Internal state for list building
- Object
Builder - A builder for creating
Variant::Objectvalues. - Object
Field Builder - A
VariantBuilderExtthat inserts a new field into a variant object. - Object
State - Internal state for object building
- Parent
State - Tracks information needed to correctly finalize a nested builder.
- Read
Only Metadata Builder - A metadata builder that cannot register new field names, and merely returns the field id associated with a known field name. This is useful for variant unshredding operations, where the metadata column is fixed and β per variant shredding spec β already contains all field names from the typed_value column. It is also useful when projecting a subset of fields from a variant object value, since the bytes can be copied across directly without re-encoding their field ids.
- Short
String - A Variant
ShortString - Uuid
- A Universally Unique Identifier (UUID).
- Value
Builder - Wrapper around a
Vec<u8>that provides methods for appending primitive values, variant types, and metadata. - Variant
Builder - Top level builder for
Variantvalues - Variant
Decimal4 - Represents a 4-byte decimal value in the Variant format.
- Variant
Decimal8 - Represents an 8-byte decimal value in the Variant format.
- Variant
Decimal16 - Represents an 16-byte decimal value in the Variant format.
- Variant
List VariantArray.- Variant
Metadata VariantMetadata- Variant
Object - A
VariantObject (struct with named fields). - Variant
Path - Represents a qualified path to a potential subfield or index of a variant value.
- Writable
Metadata Builder - Builder for constructing metadata for
Variantvalues. - f16
- A 16-bit floating point type implementing the IEEE 754-2008 standard
binary16a.k.a βhalfβ format.
EnumsΒ§
- Variant
- Represents a Parquet Variant
- Variant
Path Element - Element of a
VariantPaththat can be a field name or an index.
ConstantsΒ§
- EMPTY_
VARIANT_ METADATA - The empty metadata dictionary.
- EMPTY_
VARIANT_ METADATA_ BYTES - The canonical byte slice corresponding to an empty metadata dictionary.
TraitsΒ§
- Builder
Specific State - A trait for managing state specific to different builder types.
- Metadata
Builder - A trait for building variant metadata dictionaries, to be used in conjunction with a
ValueBuilder. The trait provides methods for managing field names and their IDs, as well as rolling back a failed builder operation that might have created new field ids. - Variant
Builder Ext - Extends
VariantBuilderto help building nestedVariants - Variant
Decimal Type - Trait for variant decimal types, enabling generic code across Decimal4/8/16