<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/how-to-drop-columns-from-a-delta-lake-table-1pdnmka2o" -->

---
title: How to drop columns from a Delta Lake table | daily.dev
description: Explains two ways to drop a column from a Delta Lake table: the DROP COLUMN metadata operation (available since Delta Lake 2.0 with column mapping enabled) and...
canonical: https://daily.dev/posts/how-to-drop-columns-from-a-delta-lake-table-1pdnmka2o
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: How to drop columns from a Delta Lake table | daily.dev
og:description: Explains two ways to drop a column from a Delta Lake table: the DROP COLUMN metadata operation (available since Delta Lake 2.0 with column mapping enabled) and...
og:url: https://daily.dev/posts/how-to-drop-columns-from-a-delta-lake-table-1pdnmka2o
og:image: https://api.daily.dev/og/posts/1pDnMKA2o.png
og:image:alt: How to drop columns from a Delta Lake table
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.

# How to drop columns from a Delta Lake table

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

## Summary

Explains two ways to drop a column from a Delta Lake table: the DROP COLUMN metadata operation (available since Delta Lake 2.0 with column mapping enabled) and the older full-dataset-rewrite approach. Covers syntax with PySpark, how the transaction log records the metadata-only drop, and performance/cost tradeoffs. Notes that DROP COLUMN is fast but doesn't physically remove data from Parquet files on disk, so for regulatory requirements like GDPR you need to overwrite the data and run a vacuum operation to truly delete it.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://delta.io/blog/2022-08-29-delta-lake-drop-column>

## Questions this post answers

### How do I drop a column from a Delta Lake table without rewriting the whole dataset?

Use the DROP COLUMN syntax added in Delta Lake 2.0 with column mapping mode enabled. This performs a metadata-only operation, adding an entry to the transaction log so queries ignore the dropped column going forward, executing in a fraction of a second even on terabytes of data, rather than requiring a full dataset rewrite.

_daily.dev surfaces practical Delta Lake guides for engineers optimizing large table operations._

### Does dropping a column with Delta Lake's DROP COLUMN actually delete the data from disk?

No, DROP COLUMN only performs a metadata operation that marks the column as ignored in the transaction log; the data remains in the underlying Parquet files. To physically remove the column from disk for regulatory purposes like GDPR, you must overwrite the existing data without that column and then run a vacuum operation.

_Engineers handling compliance-driven deletions can track Delta Lake behavior changes on daily.dev._

### How did you drop a column from a Delta Lake table before Delta Lake 2.0?

Before Delta Lake 2.0 introduced DROP COLUMN via column mapping, you had to read the entire table into a DataFrame, drop the column using the DataFrame API, and rewrite the full dataset back to the Delta Lake. This full rewrite was computationally expensive and slow for large datasets, such as a 10 terabyte table.

_daily.dev helps data engineers compare old and new approaches when planning Delta Lake upgrades._

## Similar posts on daily.dev

- [Databricks — Mastering Delta Tables: Unleashing the Power of Column Names with Spaces](https://daily.dev/posts/databricks-mastering-delta-tables-unleashing-the-power-of-column-names-with-spaces-wj0bipmyb) · Towards Dev · 0 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
- [DuckLake 1.0: Data Lake Format with SQL Catalog Metadata](https://daily.dev/posts/ducklake-1-0-data-lake-format-with-sql-catalog-metadata-i1k4mw1ne) · InfoQ · 0 upvotes · 0 comments

---

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

[View this post on daily.dev](https://daily.dev/posts/how-to-drop-columns-from-a-delta-lake-table-1pdnmka2o)

```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":"How to drop columns from a Delta Lake table","url":"https://daily.dev/posts/how-to-drop-columns-from-a-delta-lake-table-1pdnmka2o","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/how-to-drop-columns-from-a-delta-lake-table-1pdnmka2o"},"datePublished":"2026-08-16T08:53:18.320Z","dateModified":"2026-08-16T08:54:16.704Z","description":"Explains two ways to drop a column from a Delta Lake table: the DROP COLUMN metadata operation (available since Delta Lake 2.0 with column mapping enabled) and...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/8205a85053d3da3e0e91669b1b61b1a3?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/8205a85053d3da3e0e91669b1b61b1a3?_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/how-to-drop-columns-from-a-delta-lake-table-1pdnmka2o","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"backend,data-engineering,apache-spark,pyspark","timeRequired":"PT6M"}
{"@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":"How to drop columns from a Delta Lake table"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/how-to-drop-columns-from-a-delta-lake-table-1pdnmka2o#faq","mainEntity":[{"@type":"Question","name":"How do I drop a column from a Delta Lake table without rewriting the whole dataset?","acceptedAnswer":{"@type":"Answer","text":"Use the DROP COLUMN syntax added in Delta Lake 2.0 with column mapping mode enabled. This performs a metadata-only operation, adding an entry to the transaction log so queries ignore the dropped column going forward, executing in a fraction of a second even on terabytes of data, rather than requiring a full dataset rewrite. daily.dev surfaces practical Delta Lake guides for engineers optimizing large table operations."}},{"@type":"Question","name":"Does dropping a column with Delta Lake's DROP COLUMN actually delete the data from disk?","acceptedAnswer":{"@type":"Answer","text":"No, DROP COLUMN only performs a metadata operation that marks the column as ignored in the transaction log; the data remains in the underlying Parquet files. To physically remove the column from disk for regulatory purposes like GDPR, you must overwrite the existing data without that column and then run a vacuum operation. Engineers handling compliance-driven deletions can track Delta Lake behavior changes on daily.dev."}},{"@type":"Question","name":"How did you drop a column from a Delta Lake table before Delta Lake 2.0?","acceptedAnswer":{"@type":"Answer","text":"Before Delta Lake 2.0 introduced DROP COLUMN via column mapping, you had to read the entire table into a DataFrame, drop the column using the DataFrame API, and rewrite the full dataset back to the Delta Lake. This full rewrite was computationally expensive and slow for large datasets, such as a 10 terabyte table. daily.dev helps data engineers compare old and new approaches when planning Delta Lake upgrades."}}]}
```

