> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-parallel-read-in-order-multi-part.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Este motor proporciona una integración con tablas Delta Lake existentes en Amazon S3, GCS y Azure Blob Storage, y admite tanto lecturas como escrituras.

# Motor de tabla DeltaLake

Este motor proporciona una integración con tablas existentes de [Delta Lake](https://github.com/delta-io/delta) en S3 y en almacenamiento de GCP y Azure, y admite tanto lecturas como escrituras (escrituras para S3 y GCS desde la v25.10, para Azure desde la v26.9).

## Crear una tabla DeltaLake

De forma predeterminada, la tabla Delta Lake ya debe existir en el almacenamiento de S3, GCP o Azure, y los siguientes comandos se conectan a ella sin definiciones DDL de columnas. Con `allow_delta_lake_create_table = 1`, un `CREATE TABLE` con columnas explícitas sobre una ubicación que no tiene `_delta_log` crea en su lugar una nueva tabla Delta Lake escribiendo el commit inicial a través de `delta-kernel-rs` (aún no se admite la creación de una tabla particionada) y, dentro de una base de datos `DataLakeCatalog` de Unity, la tabla también se registra en el catálogo.

<Tabs>
  <Tab title="S3">
    **Sintaxis**

    ```sql theme={null}
    CREATE TABLE table_name
    ENGINE = DeltaLake(url, [aws_access_key_id, aws_secret_access_key,] [extra_credentials])
    ```

    **Parámetros del motor**

    * `url` — URL del bucket con la ruta a la tabla Delta Lake existente.
    * `aws_access_key_id`, `aws_secret_access_key` - Credenciales a largo plazo del usuario de la cuenta de [AWS](https://aws.amazon.com/). Puede usarlas para autenticar sus solicitudes. El parámetro es opcional. Si no se especifican credenciales, se usan las del archivo de configuración.
    * `extra_credentials` - Opcional. Se usa para pasar un `role_arn` para el acceso basado en roles en ClickHouse Cloud. Consulte [Secure S3](/es/products/cloud/guides/data-sources/accessing-s3-data-securely) para ver los pasos de configuración.

    Los parámetros del motor pueden especificarse mediante [colecciones con nombre](/es/concepts/features/configuration/server-config/named-collections).

    **Ejemplo**

    ```sql theme={null}
    CREATE TABLE deltalake
    ENGINE = DeltaLake('http://mars-doc-test.s3.amazonaws.com/clickhouse-bucket-3/test_table/', 'ABC123', 'Abc+123')
    ```

    Uso de colecciones con nombre:

    ```xml theme={null}
    <clickhouse>
        <named_collections>
            <deltalake_conf>
                <url>http://mars-doc-test.s3.amazonaws.com/clickhouse-bucket-3/</url>
                <access_key_id>ABC123</access_key_id>
                <secret_access_key>Abc+123</secret_access_key>
            </deltalake_conf>
        </named_collections>
    </clickhouse>
    ```

    ```sql theme={null}
    CREATE TABLE deltalake
    ENGINE = DeltaLake(deltalake_conf, filename = 'test_table')
    ```
  </Tab>

  <Tab title="GCP">
    **Sintaxis**

    ```sql theme={null}
    -- Uso de una URL HTTPS (recomendado)
    CREATE TABLE table_name
    ENGINE = DeltaLake('https://storage.googleapis.com/<bucket>/<path>/', '<access_key_id>', '<secret_access_key>')
    ```

    <Note title="URI de gsutil no compatible">
      No se admite un URI de gsutil como `gs://clickhouse-docs-example-bucket`; use una URL que comience por `https://storage.googleapis.com`
    </Note>

    **Argumentos**

    * `url` — URL del bucket de GCS a la tabla Delta Lake. Debe usar el formato `https://storage.googleapis.com/<bucket>/<path>/`
      (el endpoint de la API XML de GCS), o `gs://<bucket>/<path>/`, que se convierte automáticamente.
    * `access_key_id` — Clave de acceso de GCS. Créela a través de Google Cloud Console → Cloud Storage → Settings → Interoperability.
    * `secret_access_key` — Secreto de GCS.

    **Colecciones con nombre**

    También puede usar colecciones con nombre.
    Por ejemplo:

    ```sql theme={null}
    CREATE NAMED COLLECTION gcs_creds AS
    access_key_id = '<access_key>',
    secret_access_key = '<secret>';

    CREATE TABLE gcpDeltaLake
    ENGINE = DeltaLake(gcs_creds, url = 'https://storage.googleapis.com/<bucket>/<path>')
    ```
  </Tab>

  <Tab title="Azure">
    **Sintaxis**

    ```sql theme={null}
    CREATE TABLE table_name
    ENGINE = DeltaLake(connection_string|storage_account_url, container_name, blobpath, [account_name, account_key, format, compression])
    ```

    **Argumentos**

    * `connection_string` — Cadena de conexión de Azure
    * `storage_account_url` — URL de la cuenta de almacenamiento de Azure (p. ej., [https://account.blob.core.windows.net](https://account.blob.core.windows.net))
    * `container_name` — Nombre del contenedor de Azure
    * `blobpath` — Ruta a la tabla Delta Lake dentro del contenedor
    * `account_name` — Nombre de la cuenta de almacenamiento de Azure
    * `account_key` — Clave de la cuenta de almacenamiento de Azure
  </Tab>
</Tabs>

## Escribir datos con una tabla DeltaLake

Una vez que haya creado una tabla con el motor de tabla DeltaLake, puede insertar datos en ella con:

```sql theme={null}
SET allow_delta_lake_writes = 1;

INSERT INTO deltalake(id, firstname, lastname, gender, age)
VALUES (1, 'John', 'Smith', 'M', 32);
```

Las escrituras de Delta Lake son una funcionalidad Beta deshabilitada de forma predeterminada y deben habilitarse con `SET allow_delta_lake_writes = 1;` (disponible a partir de la versión 26.7; en versiones anteriores use `SET allow_experimental_delta_lake_writes = 1;`).

<Note>
  La escritura con el motor de tabla solo es compatible a través de delta kernel.
  Las escrituras funcionan en S3 y GCS, y en Azure a partir de la versión 26.9.
  La autenticación con Workload Identity de Azure (`extra_credentials(client_id = ..., tenant_id = ...)`) no es compatible con delta kernel.
</Note>

### Caché de datos

El motor de tabla `DeltaLake` y la función de tabla admiten la caché de datos, al igual que los almacenamientos `S3`, `AzureBlobStorage` y `HDFS`. Consulta ["motor de tabla S3"](/es/reference/engines/table-engines/integrations/s3#data-cache) para más detalles.

## Véase también

* [función de tabla DeltaLake](/es/reference/functions/table-functions/deltalake)
