Passer au contenu principal
Ce moteur fournit une intégration avec des tables Delta Lake 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).

Créer une table DeltaLake

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.
Syntaxe
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. 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 pour les étapes de configuration.
Les paramètres du moteur peuvent être spécifiés à l’aide de collections nommées.Exemple
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 :
<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>
CREATE TABLE deltalake
ENGINE = DeltaLake(deltalake_conf, filename = 'test_table')

Écrire des données à l’aide d’une table DeltaLake

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

INSERT INTO deltalake(id, firstname, lastname, gender, age)
VALUES (1, 'John', 'Smith', 'M', 32);
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.

Cache de données

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” pour plus de détails.

Voir aussi

Dernière modification le 29 juin 2026