Quand utiliser clickhouse-local plutôt que ClickHouse
clickhouse-local est une version de ClickHouse facile à utiliser, idéale pour les développeurs qui ont besoin d’effectuer rapidement des traitements sur des fichiers locaux et distants avec SQL, sans devoir installer un serveur de base de données complet. Avec clickhouse-local, les développeurs peuvent exécuter des commandes SQL (en utilisant directement le dialecte SQL de ClickHouse) depuis la ligne de commande, ce qui constitue un moyen simple et efficace d’accéder aux fonctionnalités de ClickHouse sans avoir à effectuer une installation complète. L’un des principaux avantages de clickhouse-local est qu’il est déjà inclus lors de l’installation de clickhouse-client. Les développeurs peuvent donc commencer à utiliser clickhouse-local rapidement, sans passer par un processus d’installation complexe.
Bien que clickhouse-local soit un excellent outil pour le développement, les tests et le traitement de fichiers, il n’est pas adapté aux utilisateurs finaux ni aux applications. Dans ces cas, il est recommandé d’utiliser ClickHouse open-source. ClickHouse est une puissante base de données OLAP conçue pour prendre en charge des charges de travail analytiques à grande échelle. Elle permet de traiter rapidement et efficacement des requêtes complexes sur de grands jeux de données, ce qui en fait une solution idéale pour les environnements de production où les hautes performances sont essentielles. De plus, ClickHouse offre un large éventail de fonctionnalités telles que la réplication, le sharding et la haute disponibilité, indispensables pour passer à l’échelle, gérer de grands jeux de données et servir des applications. Si vous devez traiter des jeux de données plus volumineux ou servir des utilisateurs finaux ou des applications, nous vous recommandons d’utiliser ClickHouse open-source plutôt que clickhouse-local.
Veuillez consulter la documentation ci-dessous, qui présente des exemples de cas d’usage de clickhouse-local, comme interroger un fichier local ou lire un fichier Parquet dans S3.
Télécharger clickhouse-local
clickhouse-local s’exécute avec le même binaire clickhouse que celui utilisé pour le serveur ClickHouse et clickhouse-client. Le moyen le plus simple de télécharger la dernière version consiste à utiliser la commande suivante :
Le binaire que vous venez de télécharger permet d’exécuter toutes sortes d’outils et d’utilitaires ClickHouse. Si vous souhaitez utiliser ClickHouse comme serveur de base de données, consultez le Démarrage rapide.
Interroger des données dans un fichier avec SQL
clickhouse-local consiste à exécuter des requêtes ad hoc sur des fichiers, sans avoir à insérer les données dans une table. clickhouse-local peut lire les données d’un fichier dans une table temporaire et exécuter votre SQL.
Si le fichier se trouve sur la même machine que clickhouse-local, vous pouvez simplement indiquer le fichier à charger. Le fichier reviews.tsv suivant contient un échantillon d’avis sur des produits Amazon :
file crée une table, et vous pouvez utiliser DESCRIBE pour voir le schéma inféré :
Interroger les données d’un fichier Parquet dans AWS S3
clickhouse-local et la fonction de table s3 pour interroger directement le fichier (sans insérer les données dans une table ClickHouse). Nous avons un fichier nommé house_0.parquet dans un bucket public qui contient les prix des biens immobiliers vendus au Royaume-Uni. Voyons combien de lignes il contient :
Conversion de formats
clickhouse-local pour convertir des données d’un format à un autre. Exemple :
--copy :
Utilisation
clickhouse-local a accès aux données d’un serveur ClickHouse situé sur le même hôte et ne dépend pas de la configuration du serveur. Il prend également en charge le chargement de la configuration du serveur à l’aide de l’argument --config-file. Pour les données temporaires, un répertoire temporaire de données unique est créé par défaut.
Utilisation de base (Linux) :
clickhouse-local est également pris en charge sur Windows via WSL2.-S,--structure— structure de table des données d’entrée.--input-format— format d’entrée,TSVpar défaut.-F,--file— chemin des données,stdinpar défaut.-q,--query— requêtes à exécuter, avec;comme délimiteur.--querypeut être spécifié plusieurs fois, par ex.--query "SELECT 1" --query "SELECT 2". Ne peut pas être utilisé simultanément avec--queries-file.--queries-file- chemin du fichier contenant les requêtes à exécuter.--queries-filepeut être spécifié plusieurs fois, par ex.--query queries1.sql --query queries2.sql. Ne peut pas être utilisé simultanément avec--query.--multiquery, -n– Si cette option est spécifiée, plusieurs requêtes séparées par des points-virgules peuvent être indiquées après l’option--query. Pour plus de commodité, il est également possible d’omettre--queryet de passer les requêtes directement après--multiquery.-N,--table— nom de la table dans laquelle placer les données de sortie,tablepar défaut.-f,--format,--output-format— format de sortie,TSVpar défaut.-d,--database— base de données par défaut,_localpar défaut.--stacktrace— indique s’il faut afficher les informations de débogage en cas d’exception.--echo [ <bool> ]— affiche chaque requête avant son exécution. Accepte une valeur booléenne facultative. Activé par défaut en mode interactif et désactivé en mode batch. Remarque : comme--echoaccepte désormais une valeur facultative, une requête positionnelle placée immédiatement après un--echoseul est interprétée comme sa valeur ; utilisez plutôt--echo --query "...",--echo -q "...",--echo=falseoustdinredirigé.--echo-formatted [ <bool> ]— formate les requêtes affichées en écho. Accepte une valeur booléenne facultative. Activé par défaut en mode interactif et désactivé en mode batch.--echo-query-id [ <bool> ]— affiche lequery_idavant exécution. Accepte une valeur booléenne facultative. Activé par défaut en mode interactif et désactivé en mode batch.--highlight,--hilite<bool>— active ou désactive la coloration syntaxique de l’invite de commande et des requêtes affichées en écho. Activée par défaut. La coloration n’est appliquée que lors de l’écriture dans un terminal.--verbose— affiche plus de détails sur l’exécution des requêtes.--logger.console— journalise dans la console.--logger.log— nom du fichier de log.--logger.level— niveau de log.--ignore-error— ne pas arrêter le traitement si une requête a échoué.-c,--config-file— chemin vers le fichier de configuration, au même format que pour serveur ClickHouse ; par défaut, la configuration est vide.--no-system-tables— ne pas attacher les tables système.--help— référence des arguments declickhouse-local.-V,--version— affiche les informations de version puis quitte.
--config-file.
Commandes
Commande LS
Query
Response
Response
Commande CLEAR
clear sous Linux ou Ctrl+L dans de nombreux terminaux). Il s’agit d’une action côté client : elle n’est pas envoyée au moteur SQL.
Dans clickhouse-local, la méta-commande est reconnue en mode interactif ainsi que pour les entrées -q et --queries-file (même cheminement côté client que -q, même idée que ls), de sorte qu’un clear seul ne produit pas d’erreur UNKNOWN_IDENTIFIER. En revanche, pour clickhouse-client --queries-file à distance, rien ne change : le contenu du fichier est exécuté uniquement comme du SQL (sans méta-commandes au niveau du texte).
Dans clickhouse-client, elle est reconnue uniquement en mode interactif. Avec -q ou des fichiers de requêtes, clear est toujours analysé comme du SQL, de sorte que l’automatisation conserve le comportement d’erreur précédent au lieu de transformer des fautes de frappe en no-op silencieux.
Formes prises en charge : clear, CLEAR, /clear (un ; final facultatif est ignoré). Si la sortie standard n’est pas un terminal (par exemple, en redirigeant la sortie), la méta-commande est acceptée lorsqu’elle est reconnue, mais n’émet pas de séquences de contrôle.
Avec clickhouse-local et -q :
Exemples
Query
Query
stdin ni l’argument --file, et vous pouvez ouvrir autant de fichiers que vous le souhaitez à l’aide de la fonction de table file :
Query
Query
Response
- Extraire, convertir et interroger des données dans des fichiers locaux avec clickhouse-local
- Importer des données dans ClickHouse - Partie 1
- Explorer des ensembles de données massifs du monde réel : plus de 100 ans de relevés météorologiques dans ClickHouse
- Blog : Extraire, convertir et interroger des données dans des fichiers locaux avec clickhouse-local