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

リファレンス

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

NameLogoTypeStatusDescription
Apache KafkaStreaming安定版ClickPipes を構成し、Apache Kafka のストリーミングデータを ClickHouse Cloud に取り込み始めます。
Confluent CloudStreaming安定版直接統合を通じて、Confluent と ClickHouse Cloud を組み合わせた強力な機能を活用できます。
Redpanda
Redpanda ロゴ
Streaming安定版ClickPipes を構成し、Redpanda のストリーミングデータを ClickHouse Cloud に取り込み始めます。
AWS MSKStreaming安定版ClickPipes を構成し、AWS MSK のストリーミングデータを ClickHouse Cloud に取り込み始めます。
Azure Event HubsStreaming安定版ClickPipes を構成し、Azure Event Hubs のストリーミングデータを ClickHouse Cloud に取り込み始めます。
WarpStreamStreaming安定版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 Primitive 型および Complex 型、さらに Avro Logical 型のうち time-millistime-microslocal-timestamp-millislocal_timestamp-microsduration を除くすべてをサポートします。Avro の record 型は Tuple に、array 型は Array に、map 型は Map(キーは String のみ)に変換されます。一般的に、こちら に記載されている変換が利用可能です。数値型については、ClickPipes は型変換時のオーバーフローや精度損失をチェックしないため、Avro の数値型については厳密な型一致を使用することを推奨します。 別の方法として、すべての Avro 型を String カラムに挿入することもでき、その場合は有効な JSON 文字列として表現されます。

Nullable 型と Avro ユニオン

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

  • null の Avro array は空の Array
  • null の Avro Map は空の Map
  • null の Avro Record は、すべてのフィールドがデフォルト値/ゼロ値である名前付き Tuple

Variant 型のサポート

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

  • Avro ユニオン。Avro スキーマに複数の非 null 型を含む Union がある場合、ClickPipes は適切な Variant 型を推論します。それ以外の Avro データに対して Variant 型はサポートされません。
  • JSON フィールド。ソースデータストリーム内の任意の JSON フィールドに対して、Variant(String, Int64, DateTime) のような Variant 型を手動で指定できます。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* 関数を使用して 下流側のマテリアライズドビューにデータを投入する場合など)では、すべての「非仮想」カラムを削除すると ClickPipes のパフォーマンスが向上する可能性があります。