3.5 KiB
machine_translated |
---|
true |
Fichier
Le moteur de table de fichiers conserve les données dans un fichier dans l'un des fichier format (TabSeparated, Native, etc.).
Exemples d'utilisation:
- Exportation de données de ClickHouse vers un fichier.
- Convertir des données d'un format à un autre.
- Mise à jour des données dans ClickHouse via l'édition d'un fichier sur un disque.
Utilisation dans le serveur ClickHouse
File(Format)
Le Format
paramètre spécifie l'un des formats de fichier disponibles. Effectuer
SELECT
requêtes, le format doit être pris en charge pour l'entrée, et à effectuer
INSERT
queries – for output. The available formats are listed in the
Format section.
ClickHouse ne permet pas de spécifier le chemin du système de fichiers pourFile
. Il utilisera le dossier défini par chemin réglage dans la configuration du serveur.
Lors de la création de la table en utilisant File(Format)
il crée sous-répertoire vide dans ce dossier. Lorsque les données sont écrites dans cette table, elles sont mises dans data.Format
fichier dans ce répertoire.
Vous pouvez créer manuellement ce sous dossier et ce fichier dans le système de fichiers ATTACH il à la table des informations avec le nom correspondant, de sorte que vous pouvez interroger les données de ce fichier.
!!! warning "Avertissement" Soyez prudent avec cette fonctionnalité, car ClickHouse ne garde pas trace des modifications externes apportées à ces fichiers. Le résultat des Écritures simultanées via ClickHouse et en dehors de ClickHouse n'est pas défini.
Exemple:
1. Configurer le file_engine_table
table:
CREATE TABLE file_engine_table (name String, value UInt32) ENGINE=File(TabSeparated)
Par défaut ClickHouse va créer un dossier /var/lib/clickhouse/data/default/file_engine_table
.
2. Créer manuellement /var/lib/clickhouse/data/default/file_engine_table/data.TabSeparated
contenant:
$ cat data.TabSeparated
one 1
two 2
3. Interroger les données:
SELECT * FROM file_engine_table
┌─name─┬─value─┐
│ one │ 1 │
│ two │ 2 │
└──────┴───────┘
Utilisation dans Clickhouse-local
Dans clickhouse-local Fichier moteur accepte chemin d'accès au fichier en plus Format
. Les flux d'entrée / sortie par défaut peuvent être spécifiés en utilisant des noms numériques ou lisibles par l'homme comme 0
ou stdin
, 1
ou stdout
.
Exemple:
$ echo -e "1,2\n3,4" | clickhouse-local -q "CREATE TABLE table (a Int64, b Int64) ENGINE = File(CSV, stdin); SELECT a, b FROM table; DROP TABLE table"
Les détails de mise en Œuvre
- Plusieurs
SELECT
les requêtes peuvent être effectuées simultanément, maisINSERT
requêtes s'attendre les uns les autres. - Prise en charge de la création d'un nouveau fichier par
INSERT
requête. - Si le fichier existe,
INSERT
ajouterait de nouvelles valeurs dedans. - Pas pris en charge:
ALTER
SELECT ... SAMPLE
- Index
- Réplication