BladePipe を ClickHouse に接続する
BladePipe は、1 秒未満のレイテンシでプラットフォーム間のシームレスなデータフローを実現する、リアルタイムのエンドツーエンド型データ統合ツールです。
ClickHouse は BladePipe の事前構築済みコネクタの 1 つであり、ユーザーはさまざまなソースのデータを自動的に ClickHouse に統合できます。このページでは、データをリアルタイムで ClickHouse にロードする方法を順を追って説明します。
対応しているソース
現在、BladePipe は次のソースから ClickHouse へのデータ統合に対応しています:
- MySQL/MariaDB/AuroraMySQL
- Oracle
- PostgreSQL/AuroraPostgreSQL
- MongoDB
- Kafka
- PolarDB-MySQL
- OceanBase
- TiDB
今後、対応ソースはさらに追加される予定です。
BladePipeをダウンロードして実行する
-
BladePipe Cloudにログインします。
-
Install Worker (Docker)またはInstall Worker (Binary)の手順に従って、BladePipe Workerをダウンロードしてインストールします。
または、BladePipe Enterpriseをダウンロードしてデプロイすることもできます。
ClickHouseをターゲットとして追加する
-
BladePipeはClickHouseバージョン
20.12.3.3以降をサポートしています。 -
ClickHouseをターゲットとして使用するには、ユーザーにSELECT、INSERT、および一般的なDDL権限が付与されていることを確認してください。
-
BladePipeで、"DataSource" > "Add DataSource"をクリックします。
-
ClickHouseを選択し、ClickHouseのホストとポート、ユーザー名、パスワードを入力して設定を行い、"Test Connection"をクリックします。
-
下部の"Add DataSource"をクリックすると、ClickHouseインスタンスが追加されます。
MySQLをソースとして追加する
このチュートリアルでは、ソースとしてMySQLインスタンスを使用し、MySQLのデータをClickHouseにロードする手順を説明します。
MySQLをソースとして使用するには、ユーザーに必要な権限があることを確認してください。
-
BladePipeで、"DataSource" > "Add DataSource"をクリックします。
-
MySQLを選択し、MySQLのホストとポート、ユーザー名、パスワードを入力して設定を行い、"Test Connection"をクリックします。
-
下部の"Add DataSource"をクリックすると、MySQLインスタンスが追加されます。
パイプラインを作成する
-
BladePipeで、"DataJob" > "Create DataJob"をクリックします。
-
追加したMySQLインスタンスとClickHouseインスタンスを選択し、"Test Connection"をクリックして、BladePipeがそれらのインスタンスに接続できることを確認します。次に、移行するデータベースを選択します。

-
DataJob Typeには"Incremental"を選択し、あわせて"Full Data"オプションも選択します。

-
レプリケートするテーブルを選択します。

-
レプリケートするカラムを選択します。

-
DataJobの作成内容を確認すると、DataJobが自動的に実行されます。

データの検証
- MySQLインスタンスへのデータ書き込みを停止し、ClickHouseがデータをマージするまで待機します。
注記
ClickHouseの自動マージのタイミングは予測できないため、
OPTIMIZE TABLE xxx FINAL;コマンドを実行して手動でマージをトリガーすることができます。ただし、手動マージが必ずしも成功するとは限らない点に注意してください。
または、CREATE VIEW xxx_v AS SELECT * FROM xxx FINAL;コマンドを実行してビューを作成し、そのビューに対してクエリを実行することで、データが完全にマージされていることを確認できます。
:::
- 検証DataJobを作成します。検証DataJobが完了したら、結果を確認し、ClickHouse内のデータがMySQL内のデータと一致していることを確認してください。
