メインコンテンツへスキップ
メインコンテンツへスキップ

リファレンス

サポートされているデータソース

名前ロゴ種類ステータス説明
Apache Kafkaストリーミング安定版ClickPipes を構成して、Apache Kafka から ClickHouse Cloud へのストリーミングデータの取り込みを開始します。
Confluent Cloudストリーミング安定版直接統合により、Confluent と ClickHouse Cloud を組み合わせた強力な機能を引き出します。
Redpanda
Redpandaのロゴ
ストリーミング安定版ClickPipes を構成して、Redpanda から ClickHouse Cloud へのストリーミングデータの取り込みを開始します。
AWS MSKストリーミング安定版ClickPipes を構成して、AWS MSK から ClickHouse Cloud へのストリーミングデータの取り込みを開始します。
Azure Event Hubsストリーミング安定版ClickPipes を構成して、Azure Event Hubs から ClickHouse Cloud へのストリーミングデータの取り込みを開始します。
WarpStreamストリーミング安定版ClickPipes を構成して、WarpStream から ClickHouse Cloud へのストリーミングデータの取り込みを開始します。

サポートされているデータ形式

サポートされている形式は次のとおりです。

サポートされるデータ型

標準

現在、ClickPipes では次の標準的な ClickHouse データ型がサポートされています。

  • 基本的な数値型 - [U]Int8/16/32/64、Float32/64、および BFloat16
  • 大きな整数型 - [U]Int128/256
  • Decimal 型
  • Boolean
  • String
  • FixedString
  • Date, Date32
  • DateTime, DateTime64(UTC タイムゾーンのみ)
  • Enum8/Enum16
  • UUID
  • IPv4
  • IPv6
  • すべての ClickHouse LowCardinality 型
  • 上記のいずれかの型(Nullable を含む)をキーおよび値に使用する Map
  • 上記のいずれかの型(Nullable を含む、1 階層のみ)を要素に使用する Tuple および Array
  • SimpleAggregateFunction 型(AggregatingMergeTree または SummingMergeTree を出力先とする場合)

Avro

サポートされている Avro データ型

ClickPipes は、すべての Avro プリミティブ型および複合型と、time-millistime-microslocal-timestamp-millislocal_timestamp-microsduration を除くすべての Avro 論理型をサポートします。Avro の record 型は Tuple に、array 型は Array に、map 型は Map(キーは文字列のみ)に変換されます。通常、こちら に記載されている変換が利用可能です。ClickPipes は型変換時のオーバーフローや精度低下を検証しないため、Avro の数値型については型を厳密に一致させることを推奨します。 また、すべての Avro 型を String カラムに挿入することもでき、その場合は有効な JSON 文字列として表現されます。

Nullable 型と Avro ユニオン

Avro における Nullable 型は、ベースとなる Avro 型を T としたとき、(T, null) または (null, T) の Union スキーマを使用して定義されます。スキーマ推論時には、そのようなユニオンは ClickHouse の "Nullable" カラムにマッピングされます。なお、ClickHouse は Nullable(Array)Nullable(Map)Nullable(Tuple) 型をサポートしません。これらの型に対する Avro の null ユニオンは、非 Nullable 型にマッピングされます(Avro の Record 型は ClickHouse の名前付き Tuple にマッピングされます)。これらの型に対する Avro の "null" は次のように挿入されます:

  • null の Avro Array には空の Array
  • null の Avro Map には空の Map
  • null の Avro Record には、すべての要素がデフォルト値/ゼロ値の名前付き Tuple

Variant 型のサポート

ClickPipes は、次の状況で Variant 型をサポートします:

  • Avro Unions。Avro スキーマに複数の非 null 型を含む union がある場合、ClickPipes は 適切な Variant 型を推論します。その他の Avro データでは Variant 型はサポートされません。
  • JSON フィールド。ソース データストリーム内の任意の JSON フィールドに対して、Variant(String, Int64, DateTime) のように Variant 型を手動で指定できます。複合サブタイプ(array/map/tuple)はサポートされません。さらに、ClickPipes が 使用する正しい Variant サブタイプを判定する方法の都合上、Variant の定義では整数型および datetime 型をそれぞれ 1 種類しか使用できません。 たとえば、Variant(Int64, UInt32) はサポートされません。

JSON 型のサポート

ClickPipes は、次のような場合に JSON 型をサポートします:

  • Avro の Record 型は、常に JSON カラムに割り当てることができます。
  • Avro の String 型および Bytes 型は、そのカラムが実際に JSON の String オブジェクトを保持している場合、JSON カラムに割り当てることができます。
  • 常に JSON オブジェクトである JSON フィールドは、宛先の JSON カラムに割り当てることができます。

なお、固定パスやスキップしたパスも含めて、宛先カラムを目的の JSON 型に手動で変更する必要があります。

Kafka 仮想カラム

Kafka 互換ストリーミングデータソースでは、次の仮想カラムがサポートされています。新しい宛先テーブルを作成する際は、Add Column ボタンを使用して仮想カラムを追加できます。

NameDescriptionRecommended Data Type
_keyKafka メッセージのキーString
_timestampKafka タイムスタンプ(ミリ秒精度)DateTime64(3)
_partitionKafka パーティションInt32
_offsetKafka オフセットInt64
_topicKafka トピックString
_header_keysレコードヘッダー内のキーの並列配列Array(String)
_header_valuesレコードヘッダー内のヘッダー値の並列配列Array(String)
_raw_messageKafka メッセージ全体String

_raw_message カラムは JSON データに対してのみ推奨される点に注意してください。 JSON 文字列だけが必要なユースケース(たとえば ClickHouse の JsonExtract* 関数を使用して 下流の materialized view にデータを投入する場合など)では、すべての「非仮想」カラムを削除することで ClickPipes のパフォーマンスが向上する可能性があります。