datafusion-variant 0.1.0

Variant functions for DataFusion
Documentation
# datafusion-variant

This crate provides user-defined functions for efficient Variant type handling in Datafusion. Variant types enable semi-structured data storage and querying, supporting JSON-like nested structs with dynamic schemas.

This crate aims to achieve complete feature parity with Spark and Databricks Variant functions.

Contributers are welcomed! [Now check this out](https://www.youtube.com/watch?v=1dj1kCrUFCY)

# Status

`datafusion-variant` is still under development. Progress is tracked in https://github.com/datafusion-contrib/datafusion-variant/issues/2; once it's closed, the crate's output should be considered stable.

# Usage

```sh
# run the example
cargo run --example cli

# run all tests
cargo test

# run sqllogictests
cargo test --test sqllogictests
```

# Reading

## Specifications

- Iceberg Variant proposal: https://docs.google.com/document/d/1sq70XDiWJ2DemWyA5dVB80gKzwi0CWoM0LOWM7VJVd8/edit?tab=t.0#heading=h.rt0cvesdzsj7<br>
- Databricks Variant functions: https://docs.databricks.com/gcp/en/sql/language-manual/sql-ref-functions-builtin#variant-functions<br>
- Spark Variant functions: https://spark.apache.org/docs/latest/api/sql/search.html?q=variant<br>

## Miscellaneous

- https://datafusion.apache.org/blog/2025/09/21/custom-types-using-metadata