Génère un répertoire de données contenant les métadonnées d’une table ClickHouse spécifiée. Ces métadonnées peuvent être utilisées pour créer, sur un autre serveur, une table ClickHouse contenant un jeu de données en lecture seule reposant sur un disque web.
N’utilisez pas cet outil pour migrer des données. Utilisez plutôt les commandes BACKUP et RESTORE.
Utilisation
$ clickhouse static-files-disk-uploader [args]Commandes
| Commande | Description |
|---|---|
-h, --help |
Affiche les informations d’aide |
--metadata-path [path] |
Chemin des métadonnées de la table spécifiée |
--test-mode |
Active le mode test, qui envoie une requête PUT à l’URL indiquée avec les métadonnées de la table |
--link |
Crée des liens symboliques au lieu de copier les fichiers dans le répertoire de sortie |
--url [url] |
URL du serveur web pour le mode test |
--output-dir [dir] |
Répertoire dans lequel les fichiers sont écrits en mode non-test |
Récupérer le chemin des métadonnées de la table spécifiée
Lorsque vous utilisez clickhouse-static-files-disk-uploader, vous devez récupérer le chemin des métadonnées de la table souhaitée.
- Exécutez la query suivante en indiquant votre table cible et votre base de données :
SELECT data_paths
FROM system.tables
WHERE name = 'mytable' AND database = 'default';- Cela devrait renvoyer le chemin du répertoire de données de la table spécifiée :
┌─data_paths────────────────────────────────────────────┐
│ ['./store/bcc/bccc1cfd-d43d-43cf-a5b6-1cda8178f1ee/'] │
└───────────────────────────────────────────────────────┘Exporter le répertoire de métadonnées de la table vers le système de fichiers local
En utilisant le répertoire de sortie cible output et le chemin des métadonnées indiqué, exécutez la commande suivante :
$ clickhouse static-files-disk-uploader --output-dir output --metadata-path ./store/bcc/bccc1cfd-d43d-43cf-a5b6-1cda8178f1ee/Si l’opération réussit, vous devriez voir le message suivant, et le répertoire output devrait contenir les métadonnées de la table spécifiée :
Data path: "/Users/john/store/bcc/bccc1cfd-d43d-43cf-a5b6-1cda8178f1ee", destination path: "output"Exporter le répertoire de métadonnées de la table vers une URL externe
Cette étape est similaire à l’exportation du répertoire de données vers le système de fichiers local, mais avec l’ajout du flag --test-mode. Au lieu de spécifier un répertoire de sortie, vous devez indiquer une URL cible à l’aide du flag --url.
Lorsque le mode test est activé, le répertoire de métadonnées de la table est téléversé vers l’URL spécifiée au moyen d’une requête PUT.
$ clickhouse static-files-disk-uploader --test-mode --url http://nginx:80/test1 --metadata-path ./store/bcc/bccc1cfd-d43d-43cf-a5b6-1cda8178f1ee/Utiliser le répertoire de métadonnées d'une table pour créer une table ClickHouse
Une fois que vous disposez du répertoire de métadonnées de la table, vous pouvez l'utiliser pour créer une table ClickHouse sur un autre serveur.
Consultez ce dépôt GitHub pour voir une démonstration. Dans cet exemple, nous créons une table à l'aide d'un disque web, ce qui permet de rattacher la table à un dataset sur un autre serveur.