インテグレーションパッケージ
org.apache.beam.sdk.io.clickhouse.ClickHouseIO の実装は、Apache Beam repo 内にあります。
Apache Beam ClickHouse パッケージの設定
パッケージのインストール
コード例
input.csv という名前のCSVファイルを PCollection として読み込み、定義したスキーマを使って Row オブジェクトに変換し、ClickHouseIO を使用してローカルの ClickHouse インスタンスに挿入します。
サポートされているデータ型
ClickHouseIO.Write パラメーター
ClickHouseIO.Write の設定を調整できます。
制限事項
- 現時点でサポートされているのは Sink 操作のみで、コネクタは Source 操作には対応していません。
- ClickHouse は、
ReplicatedMergeTreeまたはReplicatedMergeTreeを基盤とするDistributedテーブルへの挿入時に重複排除を実行します。レプリケーションがない場合、通常の MergeTree への挿入では、挿入が失敗したあと再試行で成功すると、重複が発生する可能性があります。ただし、各ブロックはアトミックに挿入され、ブロックサイズはClickHouseIO.Write.withMaxInsertBlockSize(long)を使用して設定できます。重複排除は、挿入されたブロックのチェックサムを用いて行われます。重複排除の詳細については、Deduplication および Deduplicate insertion config を参照してください。 - コネクタは DDL ステートメントを一切実行しないため、ターゲットテーブルは挿入前にあらかじめ存在している必要があります。
ClickHouseIOクラスのドキュメント。- サンプルを含む
Githubリポジトリ clickhouse-beam-connector。