Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Moteur de table DeltaLake

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_delta_lake_writes = 1;

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

Les écritures Delta Lake sont une fonctionnalité Beta désactivée par défaut et doivent être activées avec SET allow_delta_lake_writes = 1; (disponible à partir de la version 26.7 ; sur les versions antérieures, utilisez SET allow_experimental_delta_lake_writes = 1;).

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

Navigation