Créer une table DeltaLake
Par défaut, la table Delta Lake doit déjà exister dans un stockage S3, GCP ou Azure, et les commandes ci-dessous s’y attachent sans définitions de colonnes DDL. Avecallow_delta_lake_create_table = 1, une commande CREATE TABLE avec des colonnes explicites sur un emplacement ne contenant pas de _delta_log crée à la place une nouvelle table Delta Lake en écrivant le commit initial via delta-kernel-rs (la création d’une table partitionnée n’est pas encore prise en charge) et, dans une base de données Unity DataLakeCatalog, la table est également enregistrée dans le catalogue.
- S3
- GCP
- Azure
SyntaxeParamètres du moteurAvec des collections nommées :
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 unrole_arnpour l’accès basé sur les rôles dans ClickHouse Cloud. Consultez Secure S3 pour les étapes de configuration.
É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; (disponible à partir de la version 26.7 ; sur les versions antérieures, utilisez SET allow_experimental_delta_lake_writes = 1;).
L’écriture avec le moteur de table est prise en charge uniquement via delta kernel.
Les écritures fonctionnent avec S3 et GCS, et avec Azure à partir de la version 26.9.
L’authentification Azure par workload identity (
extra_credentials(client_id = ..., tenant_id = ...)) n’est pas prise en charge par delta kernel.Cache de données
Le moteur de table et la fonction de tableDeltaLake 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.