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

> Ce moteur fournit une intégration en lecture seule avec des tables Delta Lake existantes dans Amazon S3.

# Moteur de table DeltaLake

Ce moteur fournit une intégration avec des tables [Delta Lake](https://github.com/delta-io/delta) existantes dans les stockages S3, GCP et Azure, et prend en charge aussi bien la lecture que l’écriture (à partir de la version 25.10).

<div id="create-table">
  ## Créer une table DeltaLake
</div>

Pour créer une table DeltaLake, celle-ci doit déjà exister dans un stockage S3, GCP ou Azure. Les commandes ci-dessous n'acceptent pas de paramètres DDL permettant de créer une nouvelle table.

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

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

    **Paramètres du moteur**

    * `url` — URL du bucket avec le chemin vers la table Delta Lake existante.
    * `aws_access_key_id`, `aws_secret_access_key` - Informations d'identification à long terme pour l'utilisateur du compte [AWS](https://aws.amazon.com/). Vous pouvez les utiliser pour authentifier vos requêtes. Ce paramètre est facultatif. Si aucune information d'identification n'est spécifiée, celles du fichier de configuration sont utilisées.
    * `extra_credentials` - Facultatif. Utilisé pour transmettre un `role_arn` pour l'accès basé sur les rôles dans ClickHouse Cloud. Consultez [Secure S3](/fr/products/cloud/guides/data-sources/accessing-s3-data-securely) pour les étapes de configuration.

    Les paramètres du moteur peuvent être spécifiés à l'aide de [collections nommées](/fr/concepts/features/configuration/server-config/named-collections).

    **Exemple**

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

    Avec des collections nommées :

    ```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">
    **Syntaxe**

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

    <Info>
      **URI gsutil non prise en charge**

      Les URI gsutil telles que `gs://clickhouse-docs-example-bucket` ne sont pas prises en charge ; veuillez utiliser une URL commençant par `https://storage.googleapis.com`
    </Info>

    **Arguments**

    * `url` — URL du bucket GCS pointant vers la table Delta Lake. Doit utiliser le format `https://storage.googleapis.com/<bucket>/<path>/`
      (le endpoint de l'API XML GCS), ou `gs://<bucket>/<path>/`, qui est converti automatiquement.
    * `access_key_id` — Clé d'accès GCS. Créez-la via Google Cloud Console → Cloud Storage → Settings → Interoperability.
    * `secret_access_key` — Secret GCS.

    **Collections nommées**

    Vous pouvez également utiliser des collections nommées.
    Par exemple :

    ```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">
    **Syntaxe**

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

    **Arguments**

    * `connection_string` — chaîne de connexion Azure
    * `storage_account_url` — URL du compte de stockage Azure (par exemple, [https://account.blob.core.windows.net](https://account.blob.core.windows.net))
    * `container_name` — nom du conteneur Azure
    * `blobpath` — chemin vers la table Delta Lake dans le conteneur
    * `account_name` — nom du compte de stockage Azure
    * `account_key` — clé du compte de stockage Azure
  </Tab>
</Tabs>

<div id="insert-data">
  ## Écrire des données à l’aide d’une table DeltaLake
</div>

Une fois la table créée avec le moteur de table DeltaLake, vous pouvez y insérer des données avec :

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

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

<Note>
  L’écriture avec le moteur de table est prise en charge uniquement via delta kernel.
  Les écritures vers Azure ne sont pas encore prises en charge, mais elles fonctionnent avec S3 et GCS.
</Note>

<div id="data-cache">
  ### Cache de données
</div>

Le moteur de table et la fonction de table `DeltaLake` prennent en charge le cache de données, à l’instar des stockages `S3`, `AzureBlobStorage` et `HDFS`. Voir ["moteur de table S3"](/fr/reference/engines/table-engines/integrations/s3#data-cache) pour plus de détails.

<div id="see-also">
  ## Voir aussi
</div>

* [fonction de table DeltaLake](/fr/reference/functions/table-functions/deltalake)
