Il s'agit d'une extension de la fonction de table iceberg.
Elle permet de traiter en parallèle, sur plusieurs nœuds d’un cluster spécifié, des fichiers issus d’Apache Iceberg. Sur l’initiateur, elle établit une connexion à tous les nœuds du cluster et répartit dynamiquement les fichiers. Sur le nœud worker, elle demande à l’initiateur la tâche suivante à traiter, puis l’exécute. Ce processus se répète jusqu’à ce que toutes les tâches soient terminées.
Syntaxe
icebergS3Cluster(cluster_name, url [, NOSIGN | access_key_id, secret_access_key, [session_token]] [,format] [,compression_method] [,extra_credentials])
icebergS3Cluster(cluster_name, named_collection[, option=value [,..]])
icebergAzureCluster(cluster_name, connection_string|storage_account_url, container_name, blobpath, [,account_name], [,account_key] [,format] [,compression_method])
icebergAzureCluster(cluster_name, named_collection[, option=value [,..]])
icebergHDFSCluster(cluster_name, path_to_table, [,format] [,compression_method])
icebergHDFSCluster(cluster_name, named_collection[, option=value [,..]])Arguments
cluster_name— Nom du cluster utilisé pour constituer un ensemble d’adresses et de paramètres de connexion pour les serveurs distants et locaux.- La description de tous les autres arguments est identique à celle des arguments de la fonction de table iceberg équivalente.
- Un paramètre facultatif
extra_credentialspeut être utilisé pour transmettre unrole_arnafin d’activer le contrôle d’accès basé sur les rôles dans ClickHouse Cloud. Consultez Secure S3 pour les étapes de configuration.
Valeur renvoyée
Une table de la structure spécifiée pour lire les données du cluster dans la table Iceberg spécifiée.
Exemples
SELECT * FROM icebergS3Cluster('cluster_simple', 'http://test.s3.amazonaws.com/clickhouse-bucket/test_table', 'test', 'test')Colonnes virtuelles
_path— Chemin d’accès au fichier. Type :LowCardinality(String)._file— Nom du fichier. Type :LowCardinality(String)._size— Taille du fichier en octets. Type :Nullable(UInt64). Si la taille du fichier est inconnue, la valeur estNULL._time— Date et heure de la dernière modification du fichier. Type :Nullable(DateTime). Si cette information est inconnue, la valeur estNULL._etag— eTag du fichier. Type :LowCardinality(String). Si l’eTag est inconnu, la valeur estNULL.
Voir aussi