> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-parallel-read-in-order-multi-part.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

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

> Découvrez comment utiliser clickhouse-client pour insérer dans un service ClickHouse Cloud des données provenant de fichiers CSV et Parquet locaux, depuis la ligne de commande.

export const e_1 = undefined

export const e_0 = undefined

<a href="/get-started/quickstarts/home" onClick={(e_0) => { e_0.preventDefault(); window.location.href = (window.location.pathname.startsWith('/docs') ? '/docs' : '') + '/get-started/quickstarts/home'; }} className="inline-flex items-center gap-1.5 text-sm text-gray-500 dark:text-zinc-500 hover:text-gray-900 dark:hover:text-[#fdff75] transition-colors font-normal no-underline"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" className="shrink-0"><path d="M19 12H5" /><path d="M12 19l-7-7 7-7" /></svg>All quickstarts</a>

<div className="mt-2 flex flex-wrap gap-2">
  <Badge size="lg" color="blue">Analytics en temps réel</Badge>
  <Badge size="lg" color="blue">Entreposage de données</Badge>
  <Badge size="lg" color="blue">Observabilité</Badge>
  <Badge size="lg" color="blue">IA/ML</Badge>
  <Badge size="lg" color="orange">Cloud</Badge>
</div>

## Prérequis

To successfully follow this guide, you'll need the following:

* A running ClickHouse Cloud service. If you don't have one yet, complete the [ClickHouse Cloud quick start](/get-started/setup/cloud) first.

Vous devez également avoir terminé le guide de démarrage rapide suivant :

* [Obtenez les informations de connexion à votre service Cloud](/fr/get-started/quickstarts/obtain-your-cloud-connection-details) - vous aurez besoin du nom d'hôte, du nom d'utilisateur et du mot de passe pour vous connecter

<div id="what-youll-build">
  ## Ce que vous allez créer
</div>

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.

<Steps titleSize="h3">
  <Step title="Installer clickhouse-client" id="install-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 :

    ```bash theme={null}
    curl https://clickhouse.com/ | sh
    ```

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

    ```bash theme={null}
    ./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é.
  </Step>

  <Step title="Préparez un fichier CSV d’exemple" id="prepare-a-sample-csv-file">
    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 :

    ```bash theme={null}
    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
    ```
  </Step>

  <Step title="Connectez-vous à votre service Cloud" id="connect-to-your-cloud-service">
    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](/fr/get-started/quickstarts/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 :

    ```bash theme={null}
    ./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.

    <Note>
      Le port `9440` est le port sécurisé du protocole natif pour ClickHouse Cloud. L’option `--secure` active le chiffrement TLS. Ils sont requis pour toutes les connexions Cloud.
    </Note>
  </Step>

  <Step title="Créer une table cible et insérer des données" id="create-a-target-table-and-insert-data">
    Tout d’abord, créez une table sur votre service Cloud pour recevoir les données :

    ```bash theme={null}
    ./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 :

    ```bash theme={null}
    ./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.
  </Step>

  <Step title="Vérifiez que les données ont bien été insérées" id="verify-the-data-was-inserted">
    Interrogez votre service Cloud pour vérifier que les lignes ont bien été insérées :

    ```bash theme={null}
    ./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 :

    ```bash theme={null}
    ./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](/fr/reference/formats/index) ; il suffit de modifier la clause `FORMAT` et de fournir le fichier approprié en entrée.
  </Step>
</Steps>

## Étapes suivantes

Dans ce guide de démarrage rapide, vous avez installé `clickhouse-client`, vous l'avez connecté à un service ClickHouse Cloud et vous l'avez utilisé pour transférer en flux les données d'un fichier CSV local vers Cloud. Cette même approche s'applique à Parquet, JSON et des dizaines d'autres formats.

Poursuivez avec les guides de démarrage rapide suivants :

* [Créer votre première table MergeTree](/fr/get-started/quickstarts/create-your-first-mergetree-table)

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

* [Référence de clickhouse-client](/fr/concepts/features/interfaces/client)
* [Formats d'entrée/sortie pris en charge](/fr/reference/formats/index)

<Frame caption="Check out the ClickHouse academy for on-demand and live training">
  <a href="https://learn.clickhouse.com/" target="_blank">
    <img src="https://mintcdn.com/private-7c7dfe99-parallel-read-in-order-multi-part/GTkpPcjoRQ_okrH3/images/academy.webp?fit=max&auto=format&n=GTkpPcjoRQ_okrH3&q=85&s=cf09cecabded097d3153b56365b07e3f" alt="ClickHouse Academy — Master ClickHouse with expert-designed training for every skill level" width="560" noZoom data-path="images/academy.webp" />
  </a>
</Frame>

<div className="mt-8">
  <a href="/get-started/quickstarts/home" onClick={(e_1) => { e_1.preventDefault(); window.location.href = (window.location.pathname.startsWith('/docs') ? '/docs' : '') + '/get-started/quickstarts/home'; }} className="inline-flex items-center gap-1.5 text-sm text-gray-500 dark:text-zinc-500 hover:text-gray-900 dark:hover:text-[#fdff75] transition-colors font-normal no-underline"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" className="shrink-0"><path d="M19 12H5" /><path d="M12 19l-7-7 7-7" /></svg>All quickstarts</a>
</div>
