Confluent CloudとClickHouseの統合
前提条件
以下に精通していることを前提としています:
- ClickHouse Connector Sink
- Confluent Cloudおよびカスタムコネクタ。
Confluent CloudでのClickHouse公式Kafkaコネクタ
Confluent Cloudへのインストール
これはConfluent CloudでClickHouse Sink Connectorを使い始めるための簡易ガイドです。 詳細については、公式Confluentドキュメントを参照してください。
トピックの作成
Confluent Cloudでのトピック作成は非常に簡単で、詳細な手順はこちらにあります。
重要な注意事項
- Kafkaトピック名はClickHouseテーブル名と同じでなければなりません。これを調整する方法としてトランスフォーマー(例えばExtractTopic)を使用できます。
- より多くのパーティションが必ずしもより高いパフォーマンスを意味するわけではありません - 詳細とパフォーマンスのヒントは今後のガイドで説明します。
コネクタのインストール
コネクタをこちらのリポジトリからダウンロードできます。コメントや問題の提出も歓迎します!
「Connector Plugins」 -> 「Add plugin」へ移動し、以下の設定を使用してください:
'Connector Class' - 'com.clickhouse.kafka.connect.ClickHouseSinkConnector'
'Connector type' - Sink
'Sensitive properties' - 'password'。構成中にClickHouseパスワードの入力がマスクされることを保証します。
例:

接続情報の収集
HTTP(S) を使用して ClickHouse に接続するには、以下の情報が必要です:
HOST と PORT: 通常、TLS を使用する場合のポートは 8443、TLS を使用しない場合は 8123 です。
データベース名: デフォルトで
default
という名前のデータベースがありますが、接続したいデータベースの名前を使用してください。ユーザー名とパスワード: デフォルトでユーザー名は
default
です。使用ケースに適したユーザー名を使用してください。
ClickHouse Cloud サービスの詳細は、ClickHouse Cloud コンソールで確認できます。 接続するサービスを選択し、接続 をクリックします:
HTTPS を選択すると、サンプルの curl
コマンドで詳細が確認できます。
セルフマネージドの ClickHouse を使用している場合、接続の詳細は ClickHouse 管理者によって設定されます。
コネクタの設定
「Connectors」 -> 「Add Connector」へ移動し、以下の設定を使用してください(値は例示のためだけです):
{
"database": "<DATABASE_NAME>",
"errors.retry.timeout": "30",
"exactlyOnce": "false",
"schemas.enable": "false",
"hostname": "<CLICKHOUSE_HOSTNAME>",
"password": "<SAMPLE_PASSWORD>",
"port": "8443",
"ssl": "true",
"topics": "<TOPIC_NAME>",
"username": "<SAMPLE_USERNAME>",
"key.converter": "org.apache.kafka.connect.storage.StringConverter",
"value.converter": "org.apache.kafka.connect.json.JsonConverter",
"value.converter.schemas.enable": "false"
}
接続エンドポイントの指定
コネクタがアクセスできるエンドポイントの許可リストを指定する必要があります。
ネットワークのイグレスエンドポイントを追加する際は、完全修飾ドメイン名(FQDN)を使用する必要があります。
例: u57swl97we.eu-west-1.aws.clickhouse.com:8443
HTTP(S)ポートを指定する必要があります。コネクタはまだネイティブプロトコルをサポートしていません。
これで準備は整いました!
既知の制限事項
- カスタムコネクタはパブリックインターネットエンドポイントを使用する必要があります。静的IPアドレスはサポートされていません。
- 一部のカスタムコネクタプロパティは上書きできます。公式ドキュメントの完全なリストを見る。
- カスタムコネクタは一部のAWSリージョンでのみ利用可能です。
- 公式ドキュメントでのカスタムコネクタの制限リストを見る。