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.

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, mais INSERT 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

Évaluation: 4 - 1 vote

Ce contenu a été utile?
★★★★☆