Estuary と ClickHouse を接続する
Estuary は、簡単にセットアップできる ETL パイプラインでリアルタイムデータとバッチデータを柔軟に組み合わせる「right-time」データプラットフォームです。エンタープライズグレードのセキュリティと柔軟なデプロイメントオプションにより、SaaS、データベース、ストリーミングソースから ClickHouse を含むさまざまな宛先へ、信頼性の高い継続的なデータフローを実現します。
Estuary は Kafka ClickPipe を通じて ClickHouse と接続します。この連携では、Kafka 環境を自前で構築・運用する必要はありません。
セットアップガイド
前提条件
- Estuary アカウント
- 希望するソースからデータを取得する、Estuary 上の 1 つ以上の capture
- ClickPipe 権限を持つ ClickHouse Cloud アカウント
Estuary マテリアライゼーションを作成する
Estuary のソースコレクションから ClickHouse にデータを移動するには、まず マテリアライゼーション を作成する必要があります。
-
Estuary のダッシュボードで、Destinations ページに移動します。
-
+ New Materialization をクリックします。
-
ClickHouse コネクタを選択します。
-
Materialization、Endpoint、Source Collections セクションの詳細を入力します:
-
Materialization Details: マテリアライゼーションに一意の名前を付け、データプレーン (クラウドプロバイダとリージョン) を選択します
-
Endpoint Config: セキュアな Auth Token を指定します
-
Source Collections: 既存の capture をリンクするか、ClickHouse に公開するデータコレクションを選択します
-
-
Next をクリックし、続けて Save and Publish をクリックします。
-
マテリアライゼーションの詳細ページで、ClickHouse 向けマテリアライゼーションのフルネームを控えておきます。これは
your-tenant/your-unique-name/dekaf-clickhouseのような形式になります。
Estuary は、選択したコレクションを Kafka メッセージとしてストリーミングし始めます。ClickHouse は、Estuary のブローカー情報と指定した Auth Token を使用した Kafka ClickPipe 経由でこのデータにアクセスできます。
Kafka 接続情報を入力する
ClickHouse で新しい Kafka ClickPipe をセットアップし、接続情報を入力します。
-
ClickHouse Cloud ダッシュボードで Data sources を選択します。
-
新しい ClickPipe を作成します。
-
データソースとして Apache Kafka を選択します。
-
Estuary のブローカーとレジストリ情報を使用して Kafka 接続情報を入力します:
- ClickPipe の名前を指定します
- ブローカーには次を使用します:
dekaf.estuary-data.com:9092 - 認証はデフォルトの
SASL/PLAINオプションのままにします - ユーザーには、Estuary のマテリアライゼーションのフルネーム (例:
your-tenant/your-unique-name/dekaf-clickhouse) を入力します - パスワードには、マテリアライゼーション用に指定した Auth Token を入力します
-
スキーマレジストリのオプションを有効にします
- スキーマ URL には次を使用します:
https://dekaf.estuary-data.com - スキーマキーはブローカーユーザー (マテリアライゼーション名) と同じ値です
- シークレットはブローカーパスワード (Auth Token) と同じ値です
- スキーマ URL には次を使用します:
受信データを構成する
-
Kafka の トピック の 1 つ (Estuary のデータコレクションの 1 つ) を選択します。
-
オフセット を選択します。
-
ClickHouse がトピック内のメッセージを検出します。テーブル情報を構成するため、Parse information セクションに進むことができます。
-
新しいテーブルを作成するか、一致する既存テーブルにデータをロードするかを選択します。
-
ソースフィールドをテーブルカラムにマッピングし、カラム名、型、および Nullable かどうかを確認します。
-
最後の Details and settings セクションで、専用データベースユーザーの権限を選択できます。
設定内容に満足したら、ClickPipe を作成します。
ClickHouse は新しいデータソースをプロビジョニングし、Estuary からのメッセージの取り込みを開始します。必要なだけ多くの ClickPipe を作成して、目的のすべてのデータコレクションからストリーミングできます。
追加リソース
Estuary との連携設定の詳細については、Estuary のドキュメントを参照してください。
-
Estuary の ClickHouse マテリアライゼーションに関するドキュメント を参照してください。
-
Estuary は Dekaf を使用して、データを Kafka メッセージとして公開します。Dekaf の詳細はこちらを参照してください。
-
Estuary を使用して ClickHouse にストリーミングできるソースの一覧は、Estuary の capture コネクタを確認してください。