Connect BladePipe to ClickHouse
BladePipeは、サブ秒のレイテンシでリアルタイムのエンドツーエンドデータ統合ツールであり、プラットフォーム間でシームレスなデータフローを促進します。
ClickHouseはBladePipeの事前構築されたコネクタの一つであり、ユーザーはさまざまなソースからClickHouseにデータを自動的に統合できます。このページでは、リアルタイムでClickHouseにデータをロードする方法をステップバイステップで示します。
Supported sources
現在、BladePipeは以下のソースからClickHouseへのデータ統合をサポートしています:
- MySQL/MariaDB/AuroraMySQL
- Oracle
- PostgreSQL/AuroraPostgreSQL
- MongoDB
- Kafka
- PolarDB-MySQL
- OceanBase
- TiDB
さらに多くのソースがサポートされる予定です。
Download and run BladePipe
-
BladePipe Cloudにログインします。
-
Install Worker (Docker)またはInstall Worker (Binary)の指示に従ってBladePipe Workerをダウンロードしてインストールします。
代わりに、BladePipe Enterpriseをダウンロードして展開することもできます。
Add ClickHouse as a target
- BladePipeはClickHouseバージョン
20.12.3.3
以上をサポートしています。 - ClickHouseをターゲットとして使用するには、ユーザーにSELECT、INSERTおよび一般的なDDL権限があることを確認してください。
-
BladePipeで「DataSource」 > 「Add DataSource」をクリックします。
-
ClickHouse
を選択し、ClickHouseのホストとポート、ユーザー名とパスワードを提供して設定を記入し、「Test Connection」をクリックします。 -
下部の「Add DataSource」をクリックすると、ClickHouseインスタンスが追加されます。
Add MySQL as a source
このチュートリアルでは、MySQLインスタンスをソースとして使用し、MySQLデータをClickHouseにロードするプロセスを説明します。
MySQLをソースとして使用するには、ユーザーが必要な権限を持っていることを確認してください。
-
BladePipeで「DataSource」 > 「Add DataSource」をクリックします。
-
MySQL
を選択し、MySQLのホストとポート、ユーザー名とパスワードを提供して設定を記入し、「Test Connection」をクリックします。 -
下部の「Add DataSource」をクリックすると、MySQLインスタンスが追加されます。
Create a pipeline
-
BladePipeで「DataJob」 > 「Create DataJob」をクリックします。
-
追加したMySQLとClickHouseのインスタンスを選択し、「Test Connection」をクリックしてBladePipeがインスタンスに接続されていることを確認します。次に、移動するデータベースを選択します。
-
DataJob Typeとして「Incremental」を選択し、「Full Data」オプションを選択します。
-
レプリケートするテーブルを選択します。
-
レプリケートするカラムを選択します。
-
DataJobの作成を確認し、DataJobが自動で実行されます。
Verify the data
- MySQLインスタンスでデータの書き込みを停止し、ClickHouseがデータをマージするのを待ちます。
ClickHouseの自動マージのタイミングが予測できないため、OPTIMIZE TABLE xxx FINAL;
コマンドを実行することで手動でマージをトリガーすることができます。この手動マージが常に成功するとは限らないことに注意してください。
代わりに、CREATE VIEW xxx_v AS SELECT * FROM xxx FINAL;
コマンドを実行してビューを作成し、そのビューに対してクエリを実行してデータが完全にマージされていることを確認できます。
- Verification DataJobを作成します。Verification DataJobが完了したら、結果をレビューしてClickHouseのデータがMySQLのデータと同じであることを確認します。