You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the solution you'd like
I would like to implement variant support in parquet-rs
Additional context
I am not sure if any other parquet implementations have implemented this yet / if there are example parquet files. I will attempt to find out
Is your feature request related to a problem or challenge? Please describe what you are trying to do.
Parquet recently adopted the Variant type from Spark: https://github.com/apache/parquet-format/blob/master/VariantEncoding.md
Details on
Describe the solution you'd like
I would like to implement variant support in parquet-rs
Additional context
I am not sure if any other parquet implementations have implemented this yet / if there are example parquet files. I will attempt to find out
Shredding Support
Boolean#8329Date32#8330Timestamp(Microsecond, _)andTimestamp(Nanosecond, _)#8331Utf8andBinaryView#8333FixedSizeBinary#8335VariantArray::valuefor shredded variants #8091variant_get: typed path access (STEP 1) #8150ShreddingState::AllNullvariant #8088variant_getkernel for shredded variants #7941variant_get#8083shred_variantfunction #8361Full
variant_getSupportParquet File Integration
VariantArray::data_typereturnsStructType, causingArray::as_structto panic #8319variantfeature toparquetcrate #8132Arrow --> Variant conversions
Date64or Timestamp Values values #8155batch_json_string_to_variantandbatch_variant_to_json_stringjson_to_variant #8144StringViewandLargeStringin ´batch_json_string_to_variant` #8145DataType::List/LargeListsupport forcast_to_variantkernel #8060DataType::Dictionarysupport forcast_to_variantkernel #8062DataType::Mapsupport forcast_to_variantkernel #8063DataType::RunEndEncodedsupport forcast_to_variantkernel #8064cast_to_variantkernel #8043DataType::Utf8/LargeUtf8/Utf8Viewsupport forcast_to_variantkernel #8049DataType::Binary/LargeBinary/BinaryViewsupport forcast_to_variantkernel #8050DataType::FixedSizeBinarysupport forcast_to_variantkernel #8051DataType::Booleansupport forcast_to_variantkernel #8052DataType::Nullsupport forcast_to_variantkernel #8053DataType::Date32 / DataType::Date64support forcast_to_variantkernel #8054DataType::Time32/Time64support forcast_to_variantkernel #8055DataType::Intervalsupport forcast_to_variantkernel #8056DataType::Float16support forcast_to_variantkernel #8057DataType::Timestamp(..)support forcast_to_variantkernel #8058DataType::Decimal32/Decimal64/Decimal128/Decimal256support forcast_to_variantkernel #8059DataType::Structsupport forcast_to_variantkernel #8061VariantinfrastructureVariant::as_f16#8228validatedandis_fully_validatedflags doesn't need to be part of PartialEq #7952ObjectBuilder#7899impl FromIteratorfprVariantPath#7955VariantArrayperformance by storing the index of the metadata and value arrays #7920ListBuilder::with_valuefor convenience #7951ObjectBuilder::with_fieldfor convenience #7949VariantObject::fieldandVariantObject::fields#7665VariantBuilder#7696VariantBuilder#7697VariantDecimal*private, add examples #7770ObjectBuilderto control validation behavior on duplicate field write #7777Dropimpl #7780serde_jsonan optional dependency ofparquet-variant#7775ObjectBuilder::finalizeis not called, the resulting Variant object is malformed. #7863VariantLists #7820VariantObjectss #7821simdutf8as an optional dependency when validating metadata #7902test_json_to_variant_object_very_largetakes over 20s #7872Related PRs
** Related Community Resources**