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. - Object
Builder - A builder for creating
Variant::Object
values. - 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
- 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.
Enumsยง
- Parent
State - Tracks information needed to correctly finalize a nested builder, for each parent builder type.
- Variant
- Represents a Parquet Variant
- Variant
Path Element - Element of a
VariantPath
that can be a field name or an index.
Traitsยง
- 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