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

BladePipe を ClickHouse に接続する

Partner Integration

BladePipe は、1 秒未満のレイテンシでプラットフォーム間のシームレスなデータフローを実現する、リアルタイムのエンドツーエンド型データ統合ツールです。

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内のデータと一致していることを確認してください。
    データの検証