Hugging Face has introduced a new storage layer called Xet that uses content‑defined chunking (CDC) to deduplicate Parquet files, reducing upload and download times. The CDC feature is now available in PyArrow and Pandas, and can be enabled with the use_content_defined_chunking argument. By writing Parquet files with CDC, only changed data chunks are transferred, improving storage efficiency and speed across repositories.
Reduce Parquet file upload and download times on Hugging Face Hub by leveraging the new Xet storage layer and Apache Arrow’s Parquet Content-Defined Chunking (CDC) feature enabling more efficient and scalable data workflows.
TL;DR: Parquet Content-Defined Chunking (CDC) is now available in PyArrow and Pandas, enabling efficient deduplication of Parquet files on content-addressable storage systems like Hugging Face's Xet storage layer. CDC dramatically reduces data transfer and storage costs by uploading or downloading only the changed data chunks. Enable CDC by passing the use_content_defined_chunking argument:
Apache Parquet is a columnar storage format that is widely used in the data engineering community.
While Xet is format agnostic, Parquet's layout and column-chunk (data page) based compression can produce entirely different byte-level representations for data with minor changes, leading to suboptimal deduplication performance. To address this, the Parquet files should be written in a way that minimizes the byte-level differences between similar data, which is where content-defined chunking (CDC) comes into play.
As of today, Hugging Face hosts nearly 21 PB of datasets, with Parquet files alone accounting for over 4 PB of that storage. Optimizing Parquet storage is therefore a high priority. Hugging Face has introduced a new storage layer called Xet that leverages content-defined chunking to efficiently deduplicate chunks of data reducing storage costs and improving download/upload speeds.
Let's explore the performance benefits of the new Parquet CDC feature used alongside Hugging Face's Xet storage layer.
For demonstration purposes, we will use a manageable sized subset of OpenOrca dataset.
Efficient data transfer and storage are critical for large‑scale AI datasets. CDC enables faster, cheaper workflows and easier collaboration across teams.