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 buildingVariant
values.
Β§π§ 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::List
values. - List
State - Internal state for list building
- Object
Builder - A builder for creating
Variant::Object
values. - Object
Field Builder - A
VariantBuilderExt
that 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
Variant
values - 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 Variant
Array.- Variant
Metadata Variant
Metadata- Variant
Object - A
Variant
Object (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
Variant
values. - f16
- A 16-bit floating point type implementing the IEEE 754-2008 standard
binary16
a.k.a βhalfβ format.
EnumsΒ§
- Variant
- Represents a Parquet Variant
- Variant
Path Element - Element of a
VariantPath
that 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
VariantBuilder
to help building nestedVariant
s