Passer au contenu principal
Les fonctions de table permettent de construire des tables.
PageDescription
azureBlobStorageFournit une interface de type table pour sélectionner/insérer des fichiers dans Azure Blob Storage. Similaire à la fonction s3.
azureBlobStorageClusterPermet de traiter en parallèle des fichiers d’Azure Blob Storage avec de nombreux nœuds dans un cluster spécifié.
clusterAllReplicasPermet d’accéder à tous les shards (configurés dans la section remote_servers) d’un cluster sans créer de table Distributed.
deltaLakeFournit une interface de type table en lecture seule pour les tables Delta Lake dans Amazon S3.
deltaLakeClusterIl s’agit d’une extension de la fonction de table deltaLake.
dictionaryAffiche les données du dictionnaire sous forme de table ClickHouse. Fonctionne de la même manière que le moteur Dictionary.
executableLa fonction de table executable crée une table à partir de la sortie d’une fonction définie par l’utilisateur (UDF) que vous définissez dans un script qui écrit des lignes sur stdout.
fileUn moteur de table qui fournit une interface de type table pour effectuer des SELECT à partir de fichiers et des INSERT dans des fichiers, de manière similaire à la fonction de table s3. Utilisez file lorsque vous travaillez avec des fichiers locaux, et s3 lorsque vous travaillez avec des buckets dans un stockage objet comme S3, GCS ou MinIO.
fileClusterPermet le traitement simultané des fichiers correspondant à un chemin spécifié sur plusieurs nœuds d’un cluster. L’initiateur établit des connexions avec les nœuds workers, développe les globs dans le chemin du fichier et leur délègue les tâches de lecture. Chaque nœud worker interroge l’initiateur pour obtenir le fichier suivant à traiter, et ce jusqu’à ce que toutes les tâches soient terminées (c’est-à-dire que tous les fichiers aient été lus).
filesystemFournit un accès au système de fichiers pour lister les fichiers et renvoyer leurs métadonnées et leur contenu.
formatAnalyse les données à partir des arguments selon le format d’entrée spécifié. Si l’argument de structure n’est pas spécifié, il est extrait des données.
gcsFournit une interface de type table pour SELECT et INSERT des données depuis Google Cloud Storage. Nécessite le rôle IAM Storage Object User.
fuzzQueryPerturbe la chaîne de requête donnée avec des variations aléatoires.
fuzzJSONPerturbe une chaîne JSON avec des variations aléatoires.
generateRandomGénère des données aléatoires selon un schéma donné. Permet de remplir des tables de test avec ces données. Tous les types ne sont pas pris en charge.
mergeTreeTextIndexReprésente le dictionnaire d’un index de texte dans une table MergeTree. Peut être utilisée pour l’introspection.
mergeTreeProjectionReprésente le contenu d’une projection dans des tables MergeTree. Peut être utilisée pour l’introspection.
mergeTreeIndexReprésente le contenu des fichiers d’index et de marques des tables MergeTree. Peut être utilisée pour l’introspection.
hdfsCrée une table à partir de fichiers dans HDFS. Cette fonction de table est similaire aux fonctions de table url et file.
hdfsClusterPermet de traiter en parallèle des fichiers depuis HDFS à partir de nombreux nœuds dans un cluster spécifié.
hudiFournit une interface de type table en lecture seule pour les tables Apache Hudi dans Amazon S3.
ytsaurusLa fonction de table permet de lire des données depuis le cluster YTsaurus.
hudiCluster Table FunctionUne extension de la fonction de table hudi. Permet de traiter en parallèle des fichiers de tables Apache Hudi dans Amazon S3 avec de nombreux nœuds dans un cluster spécifié.
icebergFournit une interface de type table en lecture seule pour les tables Apache Iceberg dans Amazon S3, Azure, HDFS ou stockées localement.
paimonFournit une interface de type table en lecture seule pour les tables Apache Paimon dans Amazon S3, Azure, HDFS ou stockées localement.
icebergClusterUne extension de la fonction de table iceberg qui permet de traiter en parallèle des fichiers Apache Iceberg à partir de nombreux nœuds dans un cluster spécifié.
paimonClusterUne extension de la fonction de table paimon qui permet de traiter en parallèle des fichiers Apache Paimon à partir de nombreux nœuds dans un cluster spécifié.
inputFonction de table qui permet de convertir et d’insérer efficacement, dans une table ayant une autre structure, des données envoyées au serveur avec une structure donnée.
jdbcRenvoie une table connectée via un pilote JDBC.
mergeCrée une table Merge temporaire. La structure sera dérivée des tables sous-jacentes en utilisant une union de leurs colonnes et en déduisant des types communs.
mongodbPermet d’exécuter des requêtes SELECT sur des données stockées sur un serveur MongoDB distant.
mysqlPermet d’exécuter des requêtes SELECT et INSERT sur des données stockées sur un serveur MySQL distant.
nullCrée une table temporaire de la structure spécifiée avec le moteur de table Null. Cette fonction est utilisée pour faciliter l’écriture de tests et les démonstrations.
timeSeriesMetricstimeSeriesMetrics renvoie la table des métriques utilisée par la table db_name.time_series_table, dont le moteur de table est TimeSeries.
timeSeriesSelectorLit des séries temporelles depuis une table TimeSeries, filtrées par un sélecteur et dont les horodatages appartiennent à un intervalle spécifié.
timeSeriesTagsLa fonction de table timeSeriesTags renvoie la table des tags utilisée par la table db_name.time_series_table, dont le moteur de table est TimeSeries.
prometheusQueryRangeÉvalue une requête Prometheus à l’aide des données d’une table TimeSeries.
zerosUtilisée à des fins de test comme méthode la plus rapide pour générer un grand nombre de lignes. Semblable aux tables système system.zeros et system.zeros_mt.
primesRenvoie une table avec une seule colonne prime contenant des nombres premiers.
numbersRenvoie une table avec une seule colonne number contenant une suite d’entiers.
prometheusQueryÉvalue une requête Prometheus à l’aide des données d’une table TimeSeries.
timeSeriesSamplestimeSeriesSamples renvoie la table des échantillons utilisée par la table db_name.time_series_table, dont le moteur de table est TimeSeries.
generate_series (generateSeries)Renvoie une table avec l’unique colonne generate_series (UInt64), qui contient les entiers de start à stop inclus.
odbcRenvoie la table connectée via ODBC.
postgresqlPermet d’exécuter des requêtes SELECT et INSERT sur des données stockées sur un serveur PostgreSQL distant.
redisCette fonction de table permet d’intégrer ClickHouse à Redis.
remote, remoteSecureLa fonction de table remote permet d’accéder à des serveurs distants à la volée, c’est-à-dire sans créer de table distribuée. La fonction de table remoteSecure est identique à remote, mais via une connexion sécurisée.
s3 Table FunctionFournit une interface de type table pour sélectionner/insérer des fichiers dans Amazon S3 et Google Cloud Storage. Cette fonction de table est similaire à la fonction hdfs, mais fournit des fonctionnalités spécifiques à S3.
s3ClusterExtension de la fonction de table s3, qui permet de traiter en parallèle des fichiers provenant d’Amazon S3 et de Google Cloud Storage avec de nombreux nœuds dans un cluster spécifié.
sqlitePermet d’exécuter des requêtes sur des données stockées dans une base de données SQLite.
arrowFlightPermet de lire et d’écrire des données exposées via un serveur Apache Arrow Flight.
urlCrée une table à partir de l’URL, avec le format et la structure spécifiés
urlClusterPermet de traiter en parallèle des fichiers depuis une URL à partir de nombreux nœuds dans un cluster spécifié.
viewTransforme une sous-requête en table. Cette fonction implémente des vues.
valuescrée un stockage temporaire qui remplit les colonnes avec des valeurs.
loopLa fonction de table loop dans ClickHouse est utilisée pour renvoyer les résultats de la requête dans une boucle infinie.

Utilisation

Les fonctions de table peuvent être utilisées dans la clause FROM d’une requête SELECT. Par exemple, vous pouvez SELECT des données depuis un fichier situé sur votre machine locale à l’aide de la fonction de table file.
Query
echo "1, 2, 3" > example.csv
Response
./clickhouse client
:) SELECT * FROM file('example.csv')
┌─c1─┬─c2─┬─c3─┐
│  1 │  2 │  3 │
└────┴────┴────┘
Vous pouvez également utiliser des fonctions de table pour créer une table temporaire accessible uniquement pendant la requête en cours. Par exemple :
Query
SELECT * FROM generateSeries(1,5);
Response
┌─generate_series─┐
│               1 │
│               2 │
│               3 │
│               4 │
│               5 │
└─────────────────┘
La table est supprimée lorsque la requête se termine. Les fonctions de table peuvent servir à créer des tables, selon la syntaxe suivante :
Query
CREATE TABLE [IF NOT EXISTS] [db.]table_name AS table_function()
Par exemple :
Query
CREATE TABLE series AS generateSeries(1, 5);
SELECT * FROM series;
Response
┌─generate_series─┐
│               1 │
│               2 │
│               3 │
│               4 │
│               5 │
└─────────────────┘
Enfin, les fonctions de table peuvent être utilisées pour INSERT des données dans une table. Par exemple, nous pourrions écrire le contenu de la table que nous avons créée dans l’exemple précédent dans un fichier sur disque en utilisant à nouveau la fonction de table file :
Query
INSERT INTO FUNCTION file('numbers.csv', 'CSV') SELECT * FROM series;
Query
cat numbers.csv
1
2
3
4
5
Vous ne pouvez pas utiliser de fonctions de table si le paramètre allow_ddl est désactivé.
Dernière modification le 29 juin 2026