Syntaxe
- Chaîne de connexion
- URL du compte de stockage
- Collection nommée
Les informations d’identification sont intégrées à la chaîne de connexion, il n’est donc pas nécessaire de fournir
account_name/account_key séparément :Arguments
Collections nommées
Les arguments peuvent également être transmis à l’aide de collections nommées. Dans ce cas, les clés suivantes sont prises en charge :Les noms des clés des collections nommées diffèrent des noms des arguments positionnels de la fonction :
container (et non container_name) et blob_path (et non blobpath).Valeur renvoyée
Une table ayant la structure spécifiée, permettant de lire ou d’écrire des données dans le fichier spécifié.Exemples
Lecture avec le format storage_account_url
Lecture avec la syntaxe connection_string
Écriture avec partitionnement
Un chemin contenant{_partition_id} implique la stratégie de partitionnement WILDCARD. Un chemin avec un autre glob n’utilise aucune stratégie de partitionnement et ignore PARTITION BY. Un chemin sans glob utilise HIVE lorsque file_like_engine_default_partition_strategy est défini sur HIVE ; sinon, il n’utilise aucune stratégie de partitionnement.
Colonnes virtuelles
_path— Chemin du 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 de dernière modification du fichier. Type :Nullable(DateTime). Si cette date est inconnue, la valeur estNULL.
Écriture partitionnée
Stratégie de partitionnement
Prise en charge uniquement pour les requêtesINSERT.
WILDCARD : remplace le caractère générique {_partition_id} dans le chemin de fichier par la clé de partitionnement réelle. Elle est sélectionnée par défaut lorsque le chemin contient {_partition_id}.
Lorsqu’aucun partition_strategy n’est défini, un chemin avec un autre glob n’utilise aucune stratégie de partitionnement et ignore PARTITION BY. Un chemin sans glob utilise HIVE lorsque file_like_engine_default_partition_strategy est défini sur HIVE ; sinon, il n’utilise aucune stratégie de partitionnement.
HIVE implémente le partitionnement de style Hive pour les lectures et les écritures. Les fichiers sont générés au format suivant : <prefix>/<key1=val1/key2=val2...>/<snowflakeid>.<toLower(file_format)>.
Exemple de stratégie de partitionnement HIVE
paramètre use_hive_partitioning
Il s’agit d’une indication permettant à ClickHouse d’analyser les fichiers partitionnés au format Hive au moment de la lecture. Cela n’a aucun effet sur l’écriture. Pour des lectures et écritures symétriques, utilisez l’argumentpartition_strategy.
Lorsque le paramètre use_hive_partitioning est défini sur 1, ClickHouse détecte le partitionnement au format Hive dans le chemin (/name=value/) et permet d’utiliser les colonnes de partitionnement comme colonnes virtuelles dans la requête. Ces colonnes virtuelles auront les mêmes noms que dans le chemin partitionné.
Exemple
Utiliser une colonne virtuelle créée avec un partitionnement au format Hive
Utilisation des signatures d’accès partagé (SAS)
Une signature d’accès partagé (SAS) est un URI qui accorde un accès restreint à un conteneur ou à un fichier dans Azure Storage. Utilisez-la pour fournir un accès limité dans le temps aux ressources d’un compte de stockage sans partager la clé de ce compte. Plus de détails ici. La fonctionazureBlobStorage prend en charge les signatures d’accès partagé (SAS).
Un jeton Blob SAS contient toutes les informations nécessaires pour authentifier la requête, y compris le blob cible, les autorisations et la durée de validité. Pour construire une URL de blob, ajoutez le jeton SAS au point de terminaison du service Blob. Par exemple, si le point de terminaison est https://clickhousedocstest.blob.core.windows.net/, la requête devient :