<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/delta-lake-on-azure-data-lake-storage-bsmokji5j" -->

---
title: Delta Lake on Azure Data Lake Storage | daily.dev
description: Delta Lake can be combined with Azure Data Lake Storage (ADLS) to build a lakehouse with ACID transactions, time travel, and faster queries by avoiding ADLS's...
canonical: https://daily.dev/posts/delta-lake-on-azure-data-lake-storage-bsmokji5j
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Delta Lake on Azure Data Lake Storage | daily.dev
og:description: Delta Lake can be combined with Azure Data Lake Storage (ADLS) to build a lakehouse with ACID transactions, time travel, and faster queries by avoiding ADLS's...
og:url: https://daily.dev/posts/delta-lake-on-azure-data-lake-storage-bsmokji5j
og:image: https://api.daily.dev/og/posts/BSmokJI5j.png
og:image:alt: Delta Lake on Azure Data Lake Storage
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Delta Lake on Azure Data Lake Storage

**[Delta Lake Blog](https://daily.dev/sources/delta-lake)** · 7 min read · 0 upvotes · 0 comments

## Summary

Delta Lake can be combined with Azure Data Lake Storage (ADLS) to build a lakehouse with ACID transactions, time travel, and faster queries by avoiding ADLS's slow file listing via its transaction log. The guide covers setting up an ADLS storage account and container, configuring a Spark session with the correct hadoop-azure JAR version matching hadoop-client-runtime, disabling Soft Blob Deletes to avoid conflicts with Delta Lake's transaction log, and reading/writing Delta tables using Spark, Polars, and pandas (via the deltalake library and delta-rs Rust implementation).

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://delta.io/blog/delta-lake-azure-data-lake-storage>

## Questions this post answers

### Why do I need to disable Soft Blob Deletes in Azure when using Delta Lake on ADLS?

Soft Blob Deletes retains deleted blobs for a retention period, which conflicts with Delta Lake's transaction log tracking of file changes. Soft-deleted files can cause problems with operations like VACUUM, file listing, or data queries. Disabling soft delete and relying on Delta Lake's built-in versioning and time travel avoids these conflicts and keeps operations running smoothly.

_daily.dev surfaces practical fixes like this for engineers wiring up Delta Lake on cloud storage._

### How do I know which hadoop-azure JAR version to use with Delta Lake on ADLS?

The hadoop-azure JAR version must match the hadoop-client-runtime version used by your Spark installation. For example, if hadoop-client-runtime is version 3.3.4, hadoop-azure should also be 3.3.4. You can find your hadoop-client-runtime version by running a command from your Spark root directory.

_Developers configuring Spark and ADLS together can track setup gotchas like this on daily.dev._

### Can I use Delta Lake with Azure Data Lake Storage without Spark?

Yes, the Rust implementation of Delta Lake called delta-rs offers native support for Azure Data Lake Storage as an object storage backend. Engines like Polars and pandas that use delta-rs under the hood don't require extra dependencies, only correctly configured ADLS access credentials, either through local Azure CLI authentication or explicit credentials passed via storage_options.

_daily.dev helps data engineers compare Spark and non-Spark paths for building lakehouses._

## Similar posts on daily.dev

- [Delta Lake Explained: Boost Data Reliability in Cloud Storage](https://daily.dev/posts/delta-lake-explained-boost-data-reliability-in-cloud-storage-oechbmvm4) · databricks · 0 upvotes · 0 comments
- [650GB of Data \(Delta Lake on S3\). Polars vs DuckDB vs Daft vs Spark.](https://daily.dev/posts/650gb-of-data-delta-lake-on-s3-polars-vs-duckdb-vs-daft-vs-spark--bbkmmear9) · Hacker News · 1 upvotes · 0 comments
- [Apache Iceberg vs Delta Lake: Choosing the Right Table Format](https://daily.dev/posts/apache-iceberg-vs-delta-lake-choosing-the-right-table-format-vtnia2ems) · BigData Boutique blog · 7 upvotes · 0 comments

---

Tags: [#data-engineering](https://daily.dev/tags/data-engineering), [#apache-spark](https://daily.dev/tags/apache-spark), [#polars](https://daily.dev/tags/polars)

[View this post on daily.dev](https://daily.dev/posts/delta-lake-on-azure-data-lake-storage-bsmokji5j)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Delta Lake on Azure Data Lake Storage","url":"https://daily.dev/posts/delta-lake-on-azure-data-lake-storage-bsmokji5j","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/delta-lake-on-azure-data-lake-storage-bsmokji5j"},"datePublished":"2026-08-16T08:53:41.371Z","dateModified":"2026-08-16T08:56:38.145Z","description":"Delta Lake can be combined with Azure Data Lake Storage (ADLS) to build a lakehouse with ACID transactions, time travel, and faster queries by avoiding ADLS's...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/8550c1eb1669fe8d9ed1965ff9286dba?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/8550c1eb1669fe8d9ed1965ff9286dba?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Delta Lake Blog","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Delta Lake Blog","logo":"https://media.daily.dev/image/upload/s--7f2q9Asf--/f_auto,q_auto/v1786870393/logos/delta-lake?_a=BAMAMicg0","url":"https://daily.dev/sources/delta-lake"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/delta-lake-on-azure-data-lake-storage-bsmokji5j","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"data-engineering,apache-spark,polars","timeRequired":"PT7M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Delta Lake Blog","item":"https://daily.dev/sources/delta-lake"},{"@type":"ListItem","position":3,"name":"Delta Lake on Azure Data Lake Storage"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/delta-lake-on-azure-data-lake-storage-bsmokji5j#faq","mainEntity":[{"@type":"Question","name":"Why do I need to disable Soft Blob Deletes in Azure when using Delta Lake on ADLS?","acceptedAnswer":{"@type":"Answer","text":"Soft Blob Deletes retains deleted blobs for a retention period, which conflicts with Delta Lake's transaction log tracking of file changes. Soft-deleted files can cause problems with operations like VACUUM, file listing, or data queries. Disabling soft delete and relying on Delta Lake's built-in versioning and time travel avoids these conflicts and keeps operations running smoothly. daily.dev surfaces practical fixes like this for engineers wiring up Delta Lake on cloud storage."}},{"@type":"Question","name":"How do I know which hadoop-azure JAR version to use with Delta Lake on ADLS?","acceptedAnswer":{"@type":"Answer","text":"The hadoop-azure JAR version must match the hadoop-client-runtime version used by your Spark installation. For example, if hadoop-client-runtime is version 3.3.4, hadoop-azure should also be 3.3.4. You can find your hadoop-client-runtime version by running a command from your Spark root directory. Developers configuring Spark and ADLS together can track setup gotchas like this on daily.dev."}},{"@type":"Question","name":"Can I use Delta Lake with Azure Data Lake Storage without Spark?","acceptedAnswer":{"@type":"Answer","text":"Yes, the Rust implementation of Delta Lake called delta-rs offers native support for Azure Data Lake Storage as an object storage backend. Engines like Polars and pandas that use delta-rs under the hood don't require extra dependencies, only correctly configured ADLS access credentials, either through local Azure CLI authentication or explicit credentials passed via storage_options. daily.dev helps data engineers compare Spark and non-Spark paths for building lakehouses."}}]}
```

