Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Insérer des données dans ClickHouse Cloud avec clickhouse-client

All quickstarts
Analytics en temps réelEntreposage de donnéesObservabilitéIA/MLCloud

Prérequis

Vous devez également avoir terminé les guides de démarrage rapide suivants :

Ce que vous allez créer

Dans ce guide de démarrage rapide, vous utiliserez clickhouse-client - le client CLI officiel de ClickHouse - pour insérer des données d’un fichier CSV file local dans un service ClickHouse Cloud. Vous installerez clickhouse-client, préparerez un jeu de données d’exemple, vous vous connecterez à votre service Cloud, créerez une table et y insérerez des données depuis votre machine locale. À la fin, vous saurez utiliser clickhouse-client pour charger des fichiers locaux dans ClickHouse Cloud, dans un flux de travail compatible avec les formats CSV, Parquet, JSON et bien d’autres.

Installer clickhouse-client

clickhouse-client est l’interface en ligne de commande officielle pour se connecter à ClickHouse. Il est inclus dans le binaire ClickHouse.

Installez-le à l’aide de l’installateur universel :

curl https://clickhouse.com/ | sh

Cette commande télécharge le dernier binaire clickhouse dans votre répertoire courant. Vérifiez l’installation :

./clickhouse client --version

Vous devriez voir un résultat indiquant le numéro de version de ClickHouse, ce qui confirme que clickhouse-client est prêt à être utilisé.

Préparez un fichier CSV d’exemple

Créez un petit fichier CSV d’exemple pour que ce guide de prise en main soit autonome. Exécutez ce qui suit dans votre terminal :

cat <<'EOF' > sample_data.csv
timestamp,event_type,user_id,duration_ms,status
2024-01-15 10:30:00,page_view,1001,120,success
2024-01-15 10:31:15,click,1002,45,success
2024-01-15 10:32:00,page_view,1003,200,success
2024-01-15 10:33:30,purchase,1001,1500,success
2024-01-15 10:34:00,click,1004,60,error
2024-01-15 10:35:45,page_view,1002,95,success
2024-01-15 10:36:10,purchase,1005,2200,success
2024-01-15 10:37:00,click,1003,30,success
2024-01-15 10:38:20,page_view,1004,150,error
2024-01-15 10:39:00,purchase,1002,1800,success
EOF

Connectez-vous à votre service Cloud

Les commandes ci-dessous supposent que vous avez exporté CLICKHOUSE_HOST, CLICKHOUSE_USER et CLICKHOUSE_PASSWORD comme variables d’environnement, comme indiqué dans le quickstart Obtain your Cloud connection details. Si ce n’est pas le cas, vous pouvez les remplacer directement par vos propres valeurs.

Testez la connexion en exécutant une requête simple sur votre service Cloud :

./clickhouse client \
  --host $CLICKHOUSE_HOST \
  --port 9440 \
  --user $CLICKHOUSE_USER \
  --password $CLICKHOUSE_PASSWORD \
  --secure \
  -q "SELECT 1"

Si la connexion réussit, vous verrez 1 s’afficher dans le terminal. Si vous obtenez une erreur de connexion, vérifiez que votre service est bien en cours d’exécution dans la console Cloud et que votre nom d’hôte et votre mot de passe sont corrects.

Créer une table cible et insérer des données

Tout d’abord, créez une table sur votre service Cloud pour recevoir les données :

./clickhouse client \
  --host $CLICKHOUSE_HOST \
  --port 9440 \
  --user $CLICKHOUSE_USER \
  --password $CLICKHOUSE_PASSWORD \
  --secure \
  -q "
    CREATE TABLE IF NOT EXISTS events (
      timestamp DateTime,
      event_type LowCardinality(String),
      user_id UInt32,
      duration_ms UInt32,
      status LowCardinality(String)
    )
    ENGINE = MergeTree
    ORDER BY (event_type, timestamp)
  "

Insérez maintenant les données de votre fichier CSV local. C’est l’étape clé : clickhouse-client lit le fichier depuis stdin et l’achemine en continu vers le service distant :

./clickhouse client \
  --host $CLICKHOUSE_HOST \
  --port 9440 \
  --user $CLICKHOUSE_USER \
  --password $CLICKHOUSE_PASSWORD \
  --secure \
  -q "INSERT INTO events FORMAT CSVWithNames" < sample_data.csv

clickhouse-client envoie directement le contenu du fichier CSV à votre service Cloud. Le format CSVWithNames indique à ClickHouse que la première ligne contient les noms des colonnes.

Vérifiez que les données ont bien été insérées

Interrogez votre service Cloud pour vérifier que les lignes ont bien été insérées :

./clickhouse client \
  --host $CLICKHOUSE_HOST \
  --port 9440 \
  --user $CLICKHOUSE_USER \
  --password $CLICKHOUSE_PASSWORD \
  --secure \
  -q "SELECT count() FROM events"

Vous devriez voir 10, le nombre de lignes du fichier CSV d’exemple.

Prévisualisez les données :

./clickhouse client \
  --host $CLICKHOUSE_HOST \
  --port 9440 \
  --user $CLICKHOUSE_USER \
  --password $CLICKHOUSE_PASSWORD \
  --secure \
  -q "SELECT * FROM events ORDER BY timestamp LIMIT 5"

Ce même workflow fonctionne avec Parquet, TSV, JSON, Avro, ORC et bien d’autres formats pris en charge ; il suffit de modifier la clause FORMAT et de fournir le fichier approprié en entrée.

Étapes suivantes

Dans ce guide de démarrage rapide, vous avez installé clickhouse-client, l’avez connecté à un service ClickHouse Cloud, puis l’avez utilisé pour ingérer des données depuis un fichier CSV local vers le Cloud. Cette même approche fonctionne avec Parquet, JSON et des dizaines d’autres formats.

Découvrez ensuite les guides de démarrage rapide suivants :

Ou approfondissez avec la documentation de référence :

ClickHouse Academy — Master ClickHouse with expert-designed training for every skill level
Check out the ClickHouse academy for on-demand and live training
Navigation