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

> Transfiere datos a ClickHouse mediante las canalizaciones de datos de BladePipe

# Conectar BladePipe a 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>
            Integración de partner
        </div>;
};

export const Image = ({img, alt, size}) => {
  return <Frame>
      <img src={img} alt={alt} />
    </Frame>;
};

<a href="https://www.bladepipe.com/" target="_blank">BladePipe</a> es una herramienta de integración de datos de extremo a extremo en tiempo real, con latencia inferior a un segundo, que facilita un flujo de datos fluido entre plataformas.

ClickHouse es uno de los conectores preconfigurados de BladePipe, lo que permite a los usuarios integrar automáticamente datos de diversas fuentes en ClickHouse. En esta página se muestra paso a paso cómo cargar datos en ClickHouse en tiempo real.

<div id="supported-sources">
  ## Fuentes compatibles
</div>

Actualmente, BladePipe admite la integración de datos con ClickHouse desde las siguientes fuentes:

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

Próximamente se admitirán más fuentes.

<Steps>
  <Step>
    ## Descargar y ejecutar BladePipe

    1. Inicia sesión en <a href="https://www.bladepipe.com/" target="_blank">BladePipe Cloud</a>.

    2. Sigue las instrucciones de <a href="https://doc.bladepipe.com/productOP/byoc/installation/install_worker_docker" target="_blank">Instalar Worker (Docker)</a> o <a href="https://doc.bladepipe.com/productOP/byoc/installation/install_worker_binary" target="_blank">Instalar Worker (binario)</a> para descargar e instalar un Worker de BladePipe.

    <Note>
      Como alternativa, puedes descargar y desplegar <a href="https://doc.bladepipe.com/productOP/onPremise/installation/install_all_in_one_binary" target="_blank">BladePipe Enterprise</a>.
    </Note>
  </Step>

  <Step>
    ## Agregar ClickHouse como destino

    <Note>
      1. BladePipe admite ClickHouse versión `20.12.3.3` o posterior.
      2. Para usar ClickHouse como destino, asegúrese de que el usuario tenga permisos de SELECT, INSERT y DDL habituales.
    </Note>

    1. En BladePipe, haga clic en "DataSource" > "Add DataSource".

    2. Seleccione `ClickHouse` y complete la configuración indicando el host y el puerto de ClickHouse, el nombre de usuario y la contraseña; luego haga clic en "Test Connection".

           <Image img="https://mintcdn.com/private-7c7dfe99-mintlify-67bc7bf8/ms4E-Ni592HZjtjR/images/integrations/data-ingestion/etl-tools/bp_ck_1.png?fit=max&auto=format&n=ms4E-Ni592HZjtjR&q=85&s=9faeca4863efa4684936fc9617d95faf" size="lg" border alt="Agregar ClickHouse como destino" width="1882" height="1744" data-path="images/integrations/data-ingestion/etl-tools/bp_ck_1.png" />

    3. Haga clic en "Add DataSource" en la parte inferior para agregar una instancia de ClickHouse.
  </Step>

  <Step>
    ## Agregar MySQL como fuente

    En este tutorial, usamos una instancia de MySQL como fuente y explicamos el proceso para cargar datos de MySQL en ClickHouse.

    <Note>
      Para usar MySQL como fuente, asegúrese de que el usuario tenga los <a href="https://doc.bladepipe.com/dataMigrationAndSync/datasource_func/MySQL/privs_for_mysql" target="_blank">permisos necesarios</a>.
    </Note>

    1. En BladePipe, haga clic en "DataSource" > "Add DataSource".

    2. Seleccione `MySQL` y complete la configuración con el host y el puerto de MySQL, el nombre de usuario y la contraseña; luego haga clic en "Test Connection".

           <Image img="https://mintcdn.com/private-7c7dfe99-mintlify-67bc7bf8/ms4E-Ni592HZjtjR/images/integrations/data-ingestion/etl-tools/bp_ck_2.png?fit=max&auto=format&n=ms4E-Ni592HZjtjR&q=85&s=c68eb05f996c8ae517e1831b3d630da6" size="lg" border alt="Agregar MySQL como fuente" width="1882" height="1746" data-path="images/integrations/data-ingestion/etl-tools/bp_ck_2.png" />

    3. Haga clic en "Add DataSource" en la parte inferior y se agregará una instancia de MySQL.
  </Step>

  <Step>
    ## Crear un pipeline

    1. En BladePipe, haz clic en "DataJob" > "Create DataJob".

    2. Selecciona las instancias de MySQL y ClickHouse que has agregado y haz clic en "Test Connection" para comprobar que BladePipe esté conectado a ellas. Luego, selecciona las bases de datos que se van a mover.
           <Image img="https://mintcdn.com/private-7c7dfe99-mintlify-67bc7bf8/ms4E-Ni592HZjtjR/images/integrations/data-ingestion/etl-tools/bp_ck_3.png?fit=max&auto=format&n=ms4E-Ni592HZjtjR&q=85&s=f0b77fbd582db3e2774cd642ba757e2a" size="lg" border alt="Seleccionar origen y destino" width="3264" height="1904" data-path="images/integrations/data-ingestion/etl-tools/bp_ck_3.png" />

    3. Selecciona "Incremental" en DataJob Type, junto con la opción "Full Data".
           <Image img="https://mintcdn.com/private-7c7dfe99-mintlify-67bc7bf8/ms4E-Ni592HZjtjR/images/integrations/data-ingestion/etl-tools/bp_ck_4.png?fit=max&auto=format&n=ms4E-Ni592HZjtjR&q=85&s=cce6bc612ef81cf49f898865eb4db9ca" size="lg" border alt="Seleccionar tipo de sincronización" width="2248" height="1884" data-path="images/integrations/data-ingestion/etl-tools/bp_ck_4.png" />

    4. Selecciona las tablas que se van a replicar.
           <Image img="https://mintcdn.com/private-7c7dfe99-mintlify-67bc7bf8/ms4E-Ni592HZjtjR/images/integrations/data-ingestion/etl-tools/bp_ck_5.png?fit=max&auto=format&n=ms4E-Ni592HZjtjR&q=85&s=2b6fc74358ddb80664692eb65f0144b9" size="lg" border alt="Seleccionar tablas" width="2956" height="1730" data-path="images/integrations/data-ingestion/etl-tools/bp_ck_5.png" />

    5. Selecciona las columnas que se van a replicar.
           <Image img="https://mintcdn.com/private-7c7dfe99-mintlify-67bc7bf8/ms4E-Ni592HZjtjR/images/integrations/data-ingestion/etl-tools/bp_ck_6.png?fit=max&auto=format&n=ms4E-Ni592HZjtjR&q=85&s=0841d4c2cd3894a5996deea30c98a593" size="lg" border alt="Seleccionar columnas" width="2960" height="1738" data-path="images/integrations/data-ingestion/etl-tools/bp_ck_6.png" />

    6. Confirma la creación del DataJob y este se ejecutará automáticamente.
           <Image img="https://mintcdn.com/private-7c7dfe99-mintlify-67bc7bf8/ms4E-Ni592HZjtjR/images/integrations/data-ingestion/etl-tools/bp_ck_8.png?fit=max&auto=format&n=ms4E-Ni592HZjtjR&q=85&s=515bac50b897c932fa207b5f00854211" size="lg" border alt="DataJob en ejecución" width="2244" height="294" data-path="images/integrations/data-ingestion/etl-tools/bp_ck_8.png" />
  </Step>

  <Step>
    ## Verifique los datos

    1. Detenga la escritura de datos en la instancia de MySQL y espere a que ClickHouse complete la fusión de los datos.

    <Note>
      Como el momento en que ClickHouse realiza la fusión automática es impredecible, puede forzar manualmente una fusión ejecutando el comando `OPTIMIZE TABLE xxx FINAL;`. Tenga en cuenta que es posible que esta fusión manual no siempre se complete correctamente.

      Como alternativa, puede ejecutar el comando `CREATE VIEW xxx_v AS SELECT * FROM xxx FINAL;` para crear una vista y realizar consultas en ella a fin de asegurarse de que los datos se hayan fusionado por completo.
    </Note>

    2. Cree un <a href="https://doc.bladepipe.com/operation/job_manage/create_job/create_period_verification_correction_job" target="_blank">DataJob de verificación</a>. Una vez que se complete el DataJob de verificación, revise los resultados para confirmar que los datos de ClickHouse sean los mismos que los de MySQL.
           <Image img="https://mintcdn.com/private-7c7dfe99-mintlify-67bc7bf8/ms4E-Ni592HZjtjR/images/integrations/data-ingestion/etl-tools/bp_ck_9.png?fit=max&auto=format&n=ms4E-Ni592HZjtjR&q=85&s=de1e64140ef11b103047e801609888df" size="lg" border alt="Verificar datos" width="2234" height="286" data-path="images/integrations/data-ingestion/etl-tools/bp_ck_9.png" />
  </Step>
</Steps>
