Delta Lake Liquid Clustering simplifies data layout optimization by replacing traditional partitioning and ZORDER. Introduced in Delta 3.0 (DAIS 2026), liquid clustering dynamically clusters data based on keys you specify—and you can change those keys without rewriting existing data.
Source: official Databricks documentation · Databricks announcement
Key takeaways
- Liquid clustering simplifies partitioning by dynamically clustering data without manual partition evolution.
- Clustering keys can be changed post-creation without rewriting existing data, eliminating costly repartitioning.
- Incremental clustering compacts only new/modified data, avoiding full table rewrites on each optimization.
- Performance: 5.4x faster queries with liquid clustering vs. traditional partitioning on same columns.
- Syntax: CREATE TABLE with CLUSTER BY clause; OPTIMIZE required for best performance but runs quickly.
- DESCRIBE DETAIL shows clustering columns; ALTER TABLE CLUSTER BY changes keys; cluster by none disables clustering.
Chapters
- 0:00 — Why Delta Lake Liquid Clustering replaces partitioning
- 1:30 — Three characteristics: Simple Efficient Flexible
- 2:30 — Getting started with liquid clustering syntax
- 4:30 — Performance comparison: Clustered vs. partitioned (5.4x faster)
- 5:30 — Managing clustering: ALTER keys and DESCRIBE DETAIL
Frequently asked questions
What problem does liquid clustering solve?
Partitioning requires upfront planning and struggles with evolution when query patterns change. Liquid clustering automatically clusters data on specified columns, adapting dynamically without manual repartitioning.
How do you create a clustered table?
Use CREATE TABLE with CLUSTER BY clause: 'CREATE TABLE airline_delays CLUSTER BY origin, destination AS SELECT * FROM data'. No column limit exists, but 2-4 columns is typical.
Can clustering keys be changed after table creation?
Yes, use ALTER TABLE table_name CLUSTER BY new_columns. Liquid clustering is incremental, so existing data is not rewritten; new data clusters using the new keys.
How much performance improvement does liquid clustering provide?
Performance testing shows 5.4x faster query execution with liquid clustering vs. partitioned tables on the same columns. Speed improvement comes from dynamic data layout optimization.
Full transcript
Auto-generated from the video and lightly edited for readability. Timestamps link to the moment in the video.
Show full transcript (20 segments)
0:00hello my name is and today I'm gonna discuss a very important topic during the last data and AI Summit databricks this introduce Delta 3.0 and liquid clustering was one of the features introduced with this new version but first
0:22let's understand why database introduced liquid clustering you all know one building a data lake house creating an adaptable partitioning strategy is very charged this strategy must align with current data query patterns and develop with new workloads initially selecting the right partitioning strategy demands planning
0:45but over times query patterns change rendering the initial strategy inefficient and costly and features like partitioning Evolution for partition Evolution offers some flexibility for Hive style partitioning but the ls stage constant monitoring and adjustments by table owners and these tasks add engineering workloads can be
1:08burdensome for users so you can straightforward Data Insights and moreover data distribution across partitions can negatively affect read and write performance a liquid is the solution liquid is smart data management technique for Delta tables it is flexible and automatically adjusts the
1:31data layout layout based on clustering keys liquid clustering dynamically clusters data Based on data Partners which helps avoid over or under partitioning problems that can occur with Hive partitioning liquid is simple you just need to set the clustering keys on the columns that
1:53are most often queried for example if you do have high high style partitioning you can use the columns used to partition your table and manage them to Cluster the table if we did have the Z ordering so you can you or and or and partitioning you can use both columns in use for partition and the order to use them in the class
2:16as a cluster in columns and same thing if you did have generated columns as a partition columns you can use the origin column as a clustering key this is very very simple and liquid is also very efficient it's incrementally clusters new data so you don't need to
2:39to have this trade up between improving performance with reducing costs and right amplification and something very important liquid is flexible you can quickly change which columns are clustered by liquid without rewriting existing data and that's what's what's always happening let's say you have a table you first you
3:01just partitioned by City what if in the two years or three years later when I partitioned by country and city you would need to rewrite all the uh all the table one for the clustering you can do it very very easily and let me show you uh how you can get started
3:25so over here I already have data stored on a table called information and I know information does not exist in English I just add the S at the end but it's okay so how to get started so first of all you need to have a uh using a runtime at least third uh or I mean you need to get a dbr 13.5 or above
3:50and over here I'm just basically find create table Airline detail details delays clustering and then you need to ask to add the keyword cluster by and articles of course make sure for now to not uh add uh app internet to not goes up to you can go up to four calls
4:12and here I chose origin and destination and then I I did feel this table uh with the information in this data table and I did the same thing and I use the same column but this time to partition my Delta table so I did again create table delays partitions partitioned by
4:34origin and destinations which are the same columns I use to Cluster my table and then I feel uh uh these delays partitions with the same data I used to fill the first table then what I did I I did run the uh the optimize and the optimize is very very important because you need uh because
4:57you need to think about something you need to use the optimize command on your tables liquid is incremental so meaning that the data is only written as necessary to accommodate uh data that needs to be clustered and data files with clustering keys that do not match data uh to be
5:19clustered are not ruined and for best performance database do recommend to run regular optimized jobs to your cluster data and of course for tables experiencing many updates or insert databricks recommend scheduling and optimize job for every one or one or
5:41two hours and because liquid clustering is incremental most optimized jobs for cluster tables run very quickly and that's what I did over here I did optimize both tables the one partition and the one clustered and then what I did what I did I did front the same uh
6:05query predicate on both tables so here you see I added the where the origin equal to LGA so as you can see over here I got the results in 14.28 seconds and for table clustered where origin LGA which is the same predicate I got the results on
6:282.64 seconds this is just Magic and of course as I did mention you can change the clustering columns quickly you can as you can see over here alter tell delays clustering cluster buy and I add I did remove the two of was and I now I am using the op underscore unique carrier and then of course I did run D
6:53optimize again and if you wonder how would you know which columns are used to uh cluster your table it's very easy just need to run the describe detail the name of the table and as you can see over here we have the clustering columns you'll have the list of the columns used to a cluster your table and if somehow
7:16you want to disable the clustering you can just come here and instead of having this you can just turn by none and this will disable of course the uh uh the clustering so thank you for watching this video
Official Databricks resources
- Liquid clustering for Delta tables — docs
- Delta Lake documentation — docs
- Databricks Free Edition — product
- Announcing automatic liquid clustering (Databricks blog) — blog
Related
- Delta Lake 4.0: Connect, Clustering, Variant Type, Type Widening
- Mastering Delta Lake: Liquid Clustering, Time Travel & Vacuuming
- Liquid Clustering & Delta Lake Optimization: Author's Best Practices
- Delta Sharing Behind Firewalls: Private Endpoints Proxy Serverless NCC
- All Databricks video guides
- All tutorials & videos
Databricks Answers
Looking for a quick, source-backed answer? Browse Databricks Answers on Delta Lake & storage optimization — direct, documentation-validated answers to common Databricks questions, curated by Youssef Mrini, Senior Developer Advocate at Databricks.