メインコンテンツへスキップ
メインコンテンツへスキップ

BladePipe を ClickHouse に接続する

Partner Integration

BladePipe は、サブ秒レイテンシでリアルタイムなエンドツーエンドのデータ統合を実現するツールであり、プラットフォーム間のシームレスなデータフローを可能にします。

ClickHouse は BladePipe にあらかじめ用意されたコネクタの 1 つであり、ユーザーはさまざまなソースから ClickHouse へ自動的にデータを取り込むことができます。このページでは、リアルタイムに ClickHouse にデータをロードする手順を順を追って説明します。

対応しているソース

現在、BladePipe は次のソースから ClickHouse へのデータ統合に対応しています:

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

今後、対応ソースはさらに追加される予定です。

BladePipeのダウンロードと実行

  1. BladePipe Cloudにログインします。

  2. Install Worker (Docker)またはInstall Worker (Binary)の手順に従い、BladePipe Workerをダウンロードしてインストールします。

注記

または、BladePipe Enterpriseをダウンロードしてデプロイすることもできます。

ClickHouse をターゲットとして追加する

注記
  1. BladePipe は ClickHouse バージョン 20.12.3.3 以降をサポートしています。
  2. ClickHouse をターゲットとして使用するには、ユーザーに SELECT、INSERT、および一般的な DDL 実行権限が付与されていることを確認してください。
  1. BladePipe で「DataSource」>「Add DataSource」をクリックします。

  2. ClickHouse を選択し、ClickHouse のホストとポート、ユーザー名とパスワードを入力して設定を行い、「Test Connection」をクリックします。

    ClickHouse をターゲットとして追加する
  3. 画面下部の「Add DataSource」をクリックすると、ClickHouse インスタンスが追加されます。

MySQL をソースとして追加する

このチュートリアルでは、MySQL インスタンスをソースとして使用し、MySQL データを ClickHouse にロードする手順を説明します。

注記

MySQL をソースとして使用するには、ユーザーに必要な権限が付与されていることを確認してください。

  1. BladePipe で「DataSource」>「Add DataSource」をクリックします。

  2. MySQL を選択し、MySQL のホストとポート、ユーザー名とパスワードを入力して設定し、「Test Connection」をクリックします。

    MySQL をソースとして追加する
  3. 画面下部の「Add DataSource」をクリックすると、MySQL インスタンスが追加されます。

パイプラインを作成する

  1. BladePipe で「DataJob」>「Create DataJob」をクリックします。

  2. 追加した MySQL と ClickHouse のインスタンスを選択し、「Test Connection」をクリックして BladePipe がインスタンスに接続できていることを確認します。その後、移行するデータベースを選択します。

    ソースとターゲットを選択
  3. DataJob Type として「Incremental」を選択し、「Full Data」オプションも選択します。

    同期タイプを選択
  4. レプリケート対象のテーブルを選択します。

    テーブルを選択
  5. レプリケート対象の列を選択します。

    カラムを選択
  6. DataJob の作成を確認すると、DataJob が自動的に実行されます。

    DataJob が実行中

データの検証

  1. MySQLインスタンスへのデータ書き込みを停止し、ClickHouseがデータをマージするまで待機します。
    注記

    ClickHouseの自動マージのタイミングは予測できないため、OPTIMIZE TABLE xxx FINAL;コマンドを実行して手動でマージをトリガーすることができます。ただし、手動マージが必ずしも成功するとは限らない点に注意してください。

または、CREATE VIEW xxx_v AS SELECT * FROM xxx FINAL;コマンドを実行してビューを作成し、そのビューに対してクエリを実行することで、データが完全にマージされていることを確認できます。 :::

  1. 検証DataJobを作成します。検証DataJobが完了したら、結果を確認し、ClickHouse内のデータがMySQL内のデータと一致していることを確認してください。
    データの検証