SELECT et INSERT de données depuis Google Cloud Storage. Nécessite le rôle IAM Storage Object User.
Il s’agit d’un alias de la fonction de table s3.
Si votre cluster comporte plusieurs répliques, vous pouvez utiliser la fonction s3Cluster (compatible avec GCS) à la place pour paralléliser les insertions.
Syntaxe
Arguments
GCSLe chemin GCS se présente sous ce format, car l’endpoint de l’API XML de Google est différent de celui de l’API JSON :et non https://storage.cloud.google.com.
url, format, structure, compression_method et partition_strategy fonctionnent de la même manière, et quelques paramètres supplémentaires sont pris en charge :
Valeur renvoyée
Exemples
https://storage.googleapis.com/clickhouse_public_datasets/my-test-bucket-768/data.csv.gz. La méthode de compression est détectée automatiquement à partir de l’extension de fichier .gz :
gzip explicitement spécifiée au lieu de s’appuyer sur la détection automatique :
Utilisation
- ‘https://storage.googleapis.com/my-test-bucket-768/some_prefix/some_file_1.csv'
- ‘https://storage.googleapis.com/my-test-bucket-768/some_prefix/some_file_2.csv'
- ‘https://storage.googleapis.com/my-test-bucket-768/some_prefix/some_file_3.csv'
- ‘https://storage.googleapis.com/my-test-bucket-768/some_prefix/some_file_4.csv'
- ‘https://storage.googleapis.com/my-test-bucket-768/another_prefix/some_file_1.csv'
- ‘https://storage.googleapis.com/my-test-bucket-768/another_prefix/some_file_2.csv'
- ‘https://storage.googleapis.com/my-test-bucket-768/another_prefix/some_file_3.csv'
- ‘https://storage.googleapis.com/my-test-bucket-768/another_prefix/some_file_4.csv'
file-000.csv, file-001.csv, … , file-999.csv:
test-data.csv.gz :
test-data.csv.gz à partir d’une table existante :
my-test-bucket-768 :
test-data.csv.gz situés dans n’importe quel sous-dossier du répertoire my-test-bucket, de manière récursive :
Écriture partitionnée
PARTITION BY lors de l’insertion de données dans la table GCS, un fichier distinct est créé pour chaque valeur de partition. Répartir les données dans des fichiers distincts permet d’améliorer l’efficacité des opérations de lecture.
Un chemin contenant {_partition_id} implique la stratégie de partitionnement wildcard, donc la définition explicite de partition_strategy='wildcard' dans les exemples ci-dessous est facultative. Pour les chemins sans l’espace réservé, la valeur par défaut est hive lorsque compatibility est défini sur 26.6 ou une version ultérieure (y compris les valeurs par défaut actuelles) ; consultez le paramètre file_like_engine_default_partition_strategy.
Exemples
- L’utilisation de l’identifiant de partition dans une clé crée des fichiers distincts :
file_x.csv, file_y.csv et file_z.csv.
- L’utilisation de l’identifiant de partition dans le nom d’un bucket permet de créer des fichiers dans différents buckets :
my_bucket_1/file.csv, my_bucket_10/file.csv et my_bucket_20/file.csv.