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

> Передавайте данные в ClickHouse в потоковом режиме с помощью конвейеров данных BladePipe

# Подключите 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>
            Партнерская интеграция
        </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> — это инструмент для сквозной интеграции данных в реальном времени с задержкой менее секунды, обеспечивающий бесперебойную передачу данных между платформами.

ClickHouse — один из готовых коннекторов BladePipe, который позволяет автоматически загружать данные из различных источников в ClickHouse. На этой странице показано, как шаг за шагом загружать данные в ClickHouse в реальном времени.

<div id="supported-sources">
  ## Поддерживаемые источники
</div>

В настоящее время BladePipe поддерживает интеграцию данных в ClickHouse из следующих источников:

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

В будущем список поддерживаемых источников будет расширен.

<Steps>
  <Step>
    ## Скачивание и запуск BladePipe

    1. Войдите в <a href="https://www.bladepipe.com/" target="_blank">BladePipe Cloud</a>.

    2. Следуйте инструкциям в <a href="https://doc.bladepipe.com/productOP/byoc/installation/install_worker_docker" target="_blank">Install Worker (Docker)</a> или <a href="https://doc.bladepipe.com/productOP/byoc/installation/install_worker_binary" target="_blank">Install Worker (Binary)</a>, чтобы скачать и установить воркер BladePipe.

    <Note>
      Либо вы можете скачать и развернуть <a href="https://doc.bladepipe.com/productOP/onPremise/installation/install_all_in_one_binary" target="_blank">BladePipe Enterprise</a>.
    </Note>
  </Step>

  <Step>
    ## Добавьте ClickHouse в качестве целевого назначения

    <Note>
      1. BladePipe поддерживает ClickHouse версии `20.12.3.3` и выше.
      2. Чтобы использовать ClickHouse в качестве целевого назначения, убедитесь, что у пользователя есть разрешения SELECT, INSERT и базовые DDL-разрешения.
    </Note>

    1. В BladePipe нажмите "Источник данных" > "Добавить источник данных".

    2. Выберите `ClickHouse`, затем заполните настройки: укажите хост и порт ClickHouse, имя пользователя и пароль, после чего нажмите "Проверить соединение".

           <Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/ysNmqKfMa0gVKvYj/images/integrations/data-ingestion/etl-tools/bp_ck_1.png?fit=max&auto=format&n=ysNmqKfMa0gVKvYj&q=85&s=56f122900275482ae9d0c29bde917dc6" size="lg" border alt="Добавьте ClickHouse в качестве целевого назначения" width="1882" height="1744" data-path="images/integrations/data-ingestion/etl-tools/bp_ck_1.png" />

    3. Нажмите "Добавить источник данных" внизу страницы — экземпляр ClickHouse будет добавлен.
  </Step>

  <Step>
    ## Добавление MySQL в качестве источника

    В этом руководстве мы используем экземпляр MySQL в качестве источника и покажем, как загрузить данные из MySQL в ClickHouse.

    <Note>
      Чтобы использовать MySQL в качестве источника, убедитесь, что у пользователя есть <a href="https://doc.bladepipe.com/dataMigrationAndSync/datasource_func/MySQL/privs_for_mysql" target="_blank">необходимые разрешения</a>.
    </Note>

    1. В BladePipe нажмите "DataSource" > "Add DataSource".

    2. Выберите `MySQL`, заполните настройки, указав хост и порт MySQL, имя пользователя и пароль, затем нажмите "Test Connection".

           <Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/ysNmqKfMa0gVKvYj/images/integrations/data-ingestion/etl-tools/bp_ck_2.png?fit=max&auto=format&n=ysNmqKfMa0gVKvYj&q=85&s=02645713b67e917f3bd1d26845dfce81" size="lg" border alt="Добавление MySQL в качестве источника" width="1882" height="1746" data-path="images/integrations/data-ingestion/etl-tools/bp_ck_2.png" />

    3. Нажмите внизу "Add DataSource", и экземпляр MySQL будет добавлен.
  </Step>

  <Step>
    ## Создайте конвейер

    1. В BladePipe нажмите "DataJob" > "Create DataJob".

    2. Выберите добавленные экземпляры MySQL и ClickHouse и нажмите "Test Connection", чтобы убедиться, что BladePipe подключён к ним. Затем выберите базы данных, которые нужно перенести.
           <Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/ysNmqKfMa0gVKvYj/images/integrations/data-ingestion/etl-tools/bp_ck_3.png?fit=max&auto=format&n=ysNmqKfMa0gVKvYj&q=85&s=f9b9dc31be49e567c084957de3392461" size="lg" border alt="Выберите источник и назначение" width="3264" height="1904" data-path="images/integrations/data-ingestion/etl-tools/bp_ck_3.png" />

    3. В качестве типа DataJob выберите "Incremental" вместе с опцией "Full Data".
           <Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/ysNmqKfMa0gVKvYj/images/integrations/data-ingestion/etl-tools/bp_ck_4.png?fit=max&auto=format&n=ysNmqKfMa0gVKvYj&q=85&s=d47e8df4b4ec5d5960c458c3eacdff3b" size="lg" border alt="Выберите тип синхронизации" width="2248" height="1884" data-path="images/integrations/data-ingestion/etl-tools/bp_ck_4.png" />

    4. Выберите таблицы для репликации.
           <Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/ysNmqKfMa0gVKvYj/images/integrations/data-ingestion/etl-tools/bp_ck_5.png?fit=max&auto=format&n=ysNmqKfMa0gVKvYj&q=85&s=b1935817ec11cdd639feacd49a4d2ecf" size="lg" border alt="Выберите таблицы" width="2956" height="1730" data-path="images/integrations/data-ingestion/etl-tools/bp_ck_5.png" />

    5. Выберите столбцы для репликации.
           <Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/ysNmqKfMa0gVKvYj/images/integrations/data-ingestion/etl-tools/bp_ck_6.png?fit=max&auto=format&n=ysNmqKfMa0gVKvYj&q=85&s=d4e3576d5f8b760c184fe9af55fb9dc2" size="lg" border alt="Выберите столбцы" width="2960" height="1738" data-path="images/integrations/data-ingestion/etl-tools/bp_ck_6.png" />

    6. Подтвердите создание DataJob — он запустится автоматически.
           <Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/ysNmqKfMa0gVKvYj/images/integrations/data-ingestion/etl-tools/bp_ck_8.png?fit=max&auto=format&n=ysNmqKfMa0gVKvYj&q=85&s=cd14af00db941f277aafa9608c682741" size="lg" border alt="DataJob запущен" width="2244" height="294" data-path="images/integrations/data-ingestion/etl-tools/bp_ck_8.png" />
  </Step>

  <Step>
    ## Проверьте данные

    1. Остановите запись данных в экземпляре MySQL и дождитесь, пока ClickHouse завершит слияние данных.

    <Note>
      Из-за непредсказуемости времени автоматического слияния в ClickHouse вы можете вручную запустить слияние, выполнив команду `OPTIMIZE TABLE xxx FINAL;`. Обратите внимание, что такое слияние, запущенное вручную, не всегда может завершиться успешно.

      Либо можно выполнить команду `CREATE VIEW xxx_v AS SELECT * FROM xxx FINAL;`, чтобы создать представление, и затем выполнять запросы к нему, чтобы убедиться, что данные полностью слиты.
    </Note>

    2. Создайте <a href="https://doc.bladepipe.com/operation/job_manage/create_job/create_period_verification_correction_job" target="_blank">Verification DataJob</a>. После завершения Verification DataJob проверьте результаты, чтобы убедиться, что данные в ClickHouse совпадают с данными в MySQL.
           <Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/ysNmqKfMa0gVKvYj/images/integrations/data-ingestion/etl-tools/bp_ck_9.png?fit=max&auto=format&n=ysNmqKfMa0gVKvYj&q=85&s=efd7e2534f70d5eabd0a2bad05e4c981" size="lg" border alt="Проверка данных" width="2234" height="286" data-path="images/integrations/data-ingestion/etl-tools/bp_ck_9.png" />
  </Step>
</Steps>
