前提条件
以下に精通していることを前提としています。
- ClickHouse Connector Sink
- Confluent Platform と Custom Connectors。
Confluent Platform 向け ClickHouse 公式 Kafka コネクタ
Confluent Platform へのインストール
以下は、Confluent Platform で ClickHouse Sink Connector をすぐに使い始めるための簡単なガイドです。 詳細については、Confluent の公式ドキュメントを参照してください。
トピックを作成する
Confluent Platform でトピックを作成するのは比較的簡単です。詳細な手順はこちらを参照してください。
重要な注意事項
- Kafkaトピック名は、ClickHouseテーブル名と同じである必要があります。これを調整するには、トランスフォーマー (たとえば
ExtractTopic) を使用します。 - パーティション数が多ければ、必ずしもパフォーマンスが向上するわけではありません。詳しくは、今後公開予定のガイドでパフォーマンス向上のヒントとあわせて紹介します。
コネクタをインストールする
コネクタは当社のrepositoryからダウンロードできます。コメントやissueもぜひそちらにお寄せください。
"Connector Plugins" -> "Add plugin" に移動し、以下の設定を使用します。
'Connector Class' - 'com.clickhouse.kafka.connect.ClickHouseSinkConnector'
'Connector type' - Sink
'Sensitive properties' - 'password'. This will ensure entries of the ClickHouse password are masked during configuration.例:

接続情報を確認する
HTTP(S) で ClickHouse に接続するには、次の情報が必要です。
| Parameter(s) | Description |
|---|---|
HOST and PORT |
通常、TLS を使用する場合のポートは 8443、TLS を使用しない場合は 8123 です。 |
DATABASE NAME |
デフォルトでは default という名前のデータベースがあります。接続先のデータベース名を使用してください。 |
USERNAME and PASSWORD |
デフォルトのユーザー名は default です。用途に応じたユーザー名を使用してください。 |
ClickHouse Cloud サービスの詳細は、ClickHouse Cloud コンソールで確認できます。 サービスを選択し、Connect をクリックします。

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"
}接続先エンドポイントを指定する
コネクタがアクセスできるエンドポイントの許可リストを指定する必要があります。
ネットワークの egress エンドポイントを追加する際は、完全修飾ドメイン名 (FQDN) を使用する必要があります。
例: u57swl97we.eu-west-1.aws.clickhouse.com:8443
これで準備完了です!
既知の制限事項
- Custom Connectors では、パブリックインターネット上のエンドポイントを使用する必要があります。静的 IP アドレスはサポートされていません。
- 一部の Custom Connector プロパティはオーバーライドできます。詳しくは、公式ドキュメントの一覧を参照してください。
- Custom Connectors は、AWS の一部のリージョンでのみ利用できます。
- 詳しくは、公式ドキュメントにある Custom Connectors の制限事項一覧を参照してください。