Databricks Liquid Clustering¶
BenchBox supports first-class Databricks clustering strategy control so you can run reproducible comparisons across:
liquid_clusteringliquid_clustering_autoz_ordernone
Tuning Configuration¶
Use unified tuning platform_optimizations:
platform_optimizations:
databricks_clustering_strategy: liquid_clustering # liquid_clustering | liquid_clustering_auto | z_order | none
liquid_clustering_enabled: true
liquid_clustering_columns:
- event_time
- customer_id
The z_ordering_enabled configuration is also supported.
Precedence Rules¶
BenchBox resolves Databricks strategy with explicit precedence:
databricks_clustering_strategyliquid_clustering_enabledor non-emptyliquid_clustering_columnsz_ordering_enabled
If both Liquid Clustering and Z-ORDER settings are supplied, BenchBox raises a validation error instead of silently choosing one.
CLI Overrides¶
You can override the strategy at runtime via --platform-option.
benchbox run \
--platform databricks \
--benchmark tpch \
--scale 1 \
--tuning ./databricks-tuning.yaml \
--platform-option databricks_clustering_strategy=liquid_clustering \
--platform-option liquid_clustering_columns=event_time,customer_id
Use liquid_clustering_auto for Databricks automatic Liquid Clustering, where Databricks chooses keys from workload history:
benchbox run \
--platform databricks \
--benchmark tpch \
--scale 1 \
--tuning examples/tunings/databricks/tpch_liquid_tuned.yaml \
--platform-option databricks_clustering_strategy=liquid_clustering_auto
Switching from Z-ORDER to Liquid Clustering¶
Keep existing Z-ORDER configs unchanged if you need strict historical comparability.
Add
databricks_clustering_strategy: liquid_clusteringin a new config variant for A/B runs.Add
databricks_clustering_strategy: liquid_clustering_autowhen you want Databricks to select keys automatically.Pin explicit
liquid_clustering_columnsto avoid accidental drift between runs.
A/B Comparison With Z-ORDER¶
Z-ORDER run:
benchbox run --platform databricks --benchmark tpch --scale 1 --tuning ./databricks-zorder.yaml
Liquid clustering run:
benchbox run --platform databricks --benchmark tpch --scale 1 --tuning ./databricks-liquid.yaml
Compare outputs:
benchbox compare <zorder.json> <liquid.json>
Result Metadata¶
Databricks platform metadata includes:
databricks_clustering_strategyrequested_databricks_clustering_strategyresolved_databricks_clustering_strategyapplied_layout_operationsskipped_layout_operations