---
sidebar_position: 1
title: Delta Lake
description: Query Delta Lake tables from MotherDuck using the Delta DuckDB extension.
---

MotherDuck supports querying data in the [Delta Lake format](https://delta.io/). The [Delta DuckDB extension](https://duckdb.org/docs/extensions/delta.html) is loaded automatically when any of the supported Delta Lake functions are called.

## Delta function

| Function Name | Description | Supported parameters
| :--- | :--- | :--- |
| `delta_scan` | Query Delta Lake data | All the parquet_scan parameters plus delta_file_number.

:::note

The available functions are only for reading Delta Lake data. Creating or updating data in Delta format is not yet supported.

:::

## Examples

```sql
-- query data
SELECT COUNT(*) FROM delta_scan('path-to-delta-folder');

-- query data with parameters
FROM delta_scan('path-to-delta-folder', delta_file_number=1, file_row_number=1);
```

### Query Delta data stored in Amazon S3

:::warning
At the moment, querying Delta tables stored in Amazon S3 from **public** buckets is not supported.
:::

[Create a S3 secret](/sql-reference/motherduck-sql-reference/create-secret.md) in MotherDuck using the secret manager:

```sql
CREATE SECRET IN MOTHERDUCK (
    TYPE S3,
    KEY_ID 's3_access_key',
    SECRET 's3_secret_key',
    REGION 's3-region'
);
```

Query Delta data stored in S3:

```sql
SELECT count(*) 
FROM delta_scan('s3://<your-bucket>/<your-delta-folder>');
```

:::note

To query data in an Amazon S3 bucket, you will need to configure your [Amazon S3 credentials](../../cloud-storage/amazon-s3).

:::

Example using MotherDuck Delta sample dataset.

```sql
SELECT COUNT(*)
FROM delta_scan('s3://us-prd-motherduck-open-datasets/file_format_demo/delta_lake/dat/out/reader_tests/generated/basic_append/delta');
```


