> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> Acheminez des données vers ClickHouse à l’aide des pipelines de données BladePipe

# Connectez BladePipe à ClickHouse

export const PartnerBadge = () => {
  return <div className="PartnerBadge">
            <div className="PartnerBadgeIcon">
                <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                    <polyline points="12.5 9.5 10 12 6 11 2.5 8.5" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" strokeWidth="1" />
                    <polyline points="4.54 4.41 8 3.5 11.46 4.41" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" strokeWidth="1" />
                    <path d="M2.15,3.78 L0.55,6.95 A0.5,0.5 0,0,0 0.77,7.62 L2.5,8.5 L4.54,4.41 L2.82,3.55 A0.5,0.5 0,0,0 2.15,3.78 Z" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" strokeWidth="1" />
                    <path d="M13.5,8.5 L15.23,7.62 A0.5,0.5 0,0,0 15.45,6.95 L13.85,3.78 A0.5,0.5 0,0,0 13.18,3.55 L11.46,4.41 Z" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" strokeWidth="1" />
                    <path d="M11.5,4.5 L9,4.5 L6.15,7.27 A0.5,0.5 0,0,0 6.24,8.05 C7.33,8.74 8.81,8.72 10,7.5 L12.5,9.5 L13.5,8.5" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" strokeWidth="1" />
                    <polyline points="7.75 13.5 5.15 12.85 3.5 11.67" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" strokeWidth="1" />
                </svg>
            </div>
            Intégration partenaire
        </div>;
};

export const Image = ({img, alt, size = "lg"}) => {
  const normalizedSize = ["sm", "md", "lg"].includes(size) ? size : "lg";
  return <div className={`ch-image-${normalizedSize}`}>
      <Frame>
        <img src={img} alt={alt} />
      </Frame>
    </div>;
};

<PartnerBadge />

<a href="https://www.bladepipe.com/" target="_blank">BladePipe</a> est un outil d’intégration de données de bout en bout en temps réel, avec une latence inférieure à une seconde, qui assure une circulation fluide des données entre les plateformes.

ClickHouse est l’un des connecteurs préconfigurés de BladePipe, permettant aux utilisateurs d’intégrer automatiquement des données provenant de diverses sources dans ClickHouse. Cette page explique comment charger des données dans ClickHouse en temps réel, étape par étape.

<div id="supported-sources">
  ## Sources prises en charge
</div>

Actuellement, BladePipe prend en charge l’intégration de données vers ClickHouse à partir des sources suivantes :

* MySQL/MariaDB/AuroraMySQL
* Oracle
* PostgreSQL/AuroraPostgreSQL
* MongoDB
* Kafka
* PolarDB-MySQL
* OceanBase
* TiDB

La prise en charge d’autres sources est prévue.

<Steps>
  <Step title="Télécharger et exécuter BladePipe" id="1-run-bladepipe">
    1. Connectez-vous à <a href="https://www.bladepipe.com/" target="_blank">BladePipe Cloud</a>.

    2. Suivez les instructions de <a href="https://doc.bladepipe.com/productOP/byoc/installation/install_worker_docker" target="_blank">Installer un Worker (Docker)</a> ou de <a href="https://doc.bladepipe.com/productOP/byoc/installation/install_worker_binary" target="_blank">Installer un Worker (binaire)</a> pour télécharger et installer un Worker BladePipe.

    <Note>
      Vous pouvez également télécharger et déployer <a href="https://doc.bladepipe.com/productOP/onPremise/installation/install_all_in_one_binary" target="_blank">BladePipe Enterprise</a>.
    </Note>
  </Step>

  <Step title="Ajouter ClickHouse comme cible" id="2-add-clickhouse-as-a-target">
    <Note>
      1. BladePipe prend en charge ClickHouse à partir de la version `20.12.3.3`.
      2. Pour utiliser ClickHouse comme cible, assurez-vous que l'utilisateur dispose des autorisations SELECT, INSERT et des autorisations DDL courantes.
    </Note>

    1. Dans BladePipe, cliquez sur "DataSource" > "Add DataSource".

    2. Sélectionnez `ClickHouse`, puis renseignez les paramètres en indiquant l'hôte et le port de votre instance ClickHouse, ainsi que le nom d'utilisateur et le mot de passe, puis cliquez sur "Test Connection".

           <Image img="https://mintcdn.com/private-7c7dfe99/pIetLsS_hOGHqoPJ/images/integrations/data-ingestion/etl-tools/bp_ck_1.webp?fit=max&auto=format&n=pIetLsS_hOGHqoPJ&q=85&s=63b11e4a76a8fedaf8a98c4d3a496fa6" size="lg" border alt="Ajouter ClickHouse comme cible" width="1882" height="1744" data-path="images/integrations/data-ingestion/etl-tools/bp_ck_1.webp" />

    3. Cliquez sur "Add DataSource" en bas de la page pour ajouter une instance ClickHouse.
  </Step>

  <Step title="Ajouter MySQL comme source" id="3-add-mysql-as-a-source">
    Dans ce tutoriel, nous utilisons une instance MySQL comme source et expliquons le processus de chargement des données MySQL dans ClickHouse.

    <Note>
      Pour utiliser MySQL comme source, assurez-vous que l'utilisateur dispose des <a href="https://doc.bladepipe.com/dataMigrationAndSync/datasource_func/MySQL/privs_for_mysql" target="_blank">autorisations requises</a>.
    </Note>

    1. Dans BladePipe, cliquez sur "DataSource" > "Add DataSource".

    2. Sélectionnez `MySQL`, puis renseignez les paramètres en indiquant l'hôte et le port MySQL, le nom d'utilisateur et le mot de passe, puis cliquez sur "Test Connection".

           <Image img="https://mintcdn.com/private-7c7dfe99/pIetLsS_hOGHqoPJ/images/integrations/data-ingestion/etl-tools/bp_ck_2.webp?fit=max&auto=format&n=pIetLsS_hOGHqoPJ&q=85&s=86149981e4823e8ffc94d870405a0674" size="lg" border alt="Ajouter MySQL comme source" width="1882" height="1746" data-path="images/integrations/data-ingestion/etl-tools/bp_ck_2.webp" />

    3. Cliquez sur "Add DataSource" en bas de la page, puis une instance MySQL est ajoutée.
  </Step>

  <Step title="Créer un pipeline" id="4-create-a-pipeline">
    1. Dans BladePipe, cliquez sur "DataJob" > "Create DataJob".

    2. Sélectionnez les instances MySQL et ClickHouse ajoutées, puis cliquez sur "Test Connection" pour vérifier que BladePipe est bien connecté à ces instances. Sélectionnez ensuite les bases de données à déplacer.
           <Image img="https://mintcdn.com/private-7c7dfe99/pIetLsS_hOGHqoPJ/images/integrations/data-ingestion/etl-tools/bp_ck_3.webp?fit=max&auto=format&n=pIetLsS_hOGHqoPJ&q=85&s=6c86c863a807dc03306618540b9167ab" size="lg" border alt="Sélectionner la source et la cible" width="3264" height="1904" data-path="images/integrations/data-ingestion/etl-tools/bp_ck_3.webp" />

    3. Sélectionnez "Incremental" comme type de DataJob, ainsi que l’option "Full Data".
           <Image img="https://mintcdn.com/private-7c7dfe99/pIetLsS_hOGHqoPJ/images/integrations/data-ingestion/etl-tools/bp_ck_4.webp?fit=max&auto=format&n=pIetLsS_hOGHqoPJ&q=85&s=0bb27a97a3e1b70fd1b5590af98ea1e8" size="lg" border alt="Sélectionner le type de synchronisation" width="2248" height="1884" data-path="images/integrations/data-ingestion/etl-tools/bp_ck_4.webp" />

    4. Sélectionnez les tables à répliquer.
           <Image img="https://mintcdn.com/private-7c7dfe99/pIetLsS_hOGHqoPJ/images/integrations/data-ingestion/etl-tools/bp_ck_5.webp?fit=max&auto=format&n=pIetLsS_hOGHqoPJ&q=85&s=750373dc99b3fc14365d4b8b5cba5786" size="lg" border alt="Sélectionner les tables" width="2956" height="1730" data-path="images/integrations/data-ingestion/etl-tools/bp_ck_5.webp" />

    5. Sélectionnez les colonnes à répliquer.
           <Image img="https://mintcdn.com/private-7c7dfe99/pIetLsS_hOGHqoPJ/images/integrations/data-ingestion/etl-tools/bp_ck_6.webp?fit=max&auto=format&n=pIetLsS_hOGHqoPJ&q=85&s=d4fb0124a2705ab7b41cc727645b326b" size="lg" border alt="Sélectionner les colonnes" width="2960" height="1738" data-path="images/integrations/data-ingestion/etl-tools/bp_ck_6.webp" />

    6. Confirmez la création du DataJob, puis le DataJob s’exécute automatiquement.
           <Image img="https://mintcdn.com/private-7c7dfe99/pIetLsS_hOGHqoPJ/images/integrations/data-ingestion/etl-tools/bp_ck_8.webp?fit=max&auto=format&n=pIetLsS_hOGHqoPJ&q=85&s=abbfdab480cf84fbe2047ec33a0b9111" size="lg" border alt="Le DataJob est en cours d’exécution" width="2244" height="294" data-path="images/integrations/data-ingestion/etl-tools/bp_ck_8.webp" />
  </Step>

  <Step title="Vérifier les données" id="5-verify-the-data">
    1. Arrêtez l’écriture des données dans l’instance MySQL et attendez que ClickHouse fusionne les données.

    <Note>
      En raison du caractère imprévisible du moment où ClickHouse effectue automatiquement la fusion, vous pouvez la déclencher manuellement en exécutant la commande `OPTIMIZE TABLE xxx FINAL;`. Notez toutefois que cette fusion manuelle peut ne pas toujours réussir.

      Vous pouvez également exécuter la commande `CREATE VIEW xxx_v AS SELECT * FROM xxx FINAL;` pour créer une vue et effectuer des requêtes dessus afin de vous assurer que les données sont entièrement fusionnées.
    </Note>

    2. Créez un <a href="https://doc.bladepipe.com/operation/job_manage/create_job/create_period_verification_correction_job" target="_blank">DataJob de vérification</a>. Une fois le DataJob de vérification terminé, examinez les résultats pour confirmer que les données dans ClickHouse sont identiques à celles de MySQL.
           <Image img="https://mintcdn.com/private-7c7dfe99/pIetLsS_hOGHqoPJ/images/integrations/data-ingestion/etl-tools/bp_ck_9.webp?fit=max&auto=format&n=pIetLsS_hOGHqoPJ&q=85&s=85a6aedaebcf7d61338b632241660fda" size="lg" border alt="Vérifier les données" width="2234" height="286" data-path="images/integrations/data-ingestion/etl-tools/bp_ck_9.webp" />
  </Step>
</Steps>
