|
| 1 | +--- |
| 2 | +sidebar_label: 'リファレンス' |
| 3 | +description: 'サポートされているフォーマット、ソース、配信セマンティクス、認証方式、および Kafka ClickPipes で利用可能な実験的機能の詳細を説明します' |
| 4 | +slug: /integrations/clickpipes/kafka/reference |
| 5 | +sidebar_position: 1 |
| 6 | +title: 'リファレンス' |
| 7 | +doc_type: 'reference' |
| 8 | +keywords: ['kafka リファレンス', 'clickpipes', 'データソース', 'avro', '仮想カラム'] |
| 9 | +--- |
| 10 | + |
| 11 | +import Kafkasvg from '@site/static/images/integrations/logos/kafka.svg'; |
| 12 | +import Confluentsvg from '@site/static/images/integrations/logos/confluent.svg'; |
| 13 | +import Msksvg from '@site/static/images/integrations/logos/msk.svg'; |
| 14 | +import Azureeventhubssvg from '@site/static/images/integrations/logos/azure_event_hubs.svg'; |
| 15 | +import Warpstreamsvg from '@site/static/images/integrations/logos/warpstream.svg'; |
| 16 | +import redpanda_logo from '@site/static/images/integrations/logos/logo_redpanda.png'; |
| 17 | +import Image from '@theme/IdealImage'; |
| 18 | +import ExperimentalBadge from '@site/src/theme/badges/ExperimentalBadge'; |
| 19 | + |
| 20 | + |
| 21 | +# リファレンス {#reference} |
| 22 | + |
| 23 | +## サポートされているデータソース {#supported-data-sources} |
| 24 | + |
| 25 | +| 名前 |ロゴ|種類| ステータス | 説明 | |
| 26 | +|----------------------|----|----|-----------------|------------------------------------------------------------------------------------------------------| |
| 27 | +| Apache Kafka |<Kafkasvg class="image" alt="Apache Kafkaのロゴ" style={{width: '3rem', 'height': '3rem'}}/>|ストリーミング| 安定版 | ClickPipes を構成して、Apache Kafka から ClickHouse Cloud へのストリーミングデータの取り込みを開始します。 | |
| 28 | +| Confluent Cloud |<Confluentsvg class="image" alt="Confluent Cloudのロゴ" style={{width: '3rem'}}/>|ストリーミング| 安定版 | 直接統合により、Confluent と ClickHouse Cloud を組み合わせた強力な機能を引き出します。 | |
| 29 | +| Redpanda |<Image img={redpanda_logo} size="logo" alt="Redpandaのロゴ"/>|ストリーミング| 安定版 | ClickPipes を構成して、Redpanda から ClickHouse Cloud へのストリーミングデータの取り込みを開始します。 | |
| 30 | +| AWS MSK |<Msksvg class="image" alt="AWS MSKのロゴ" style={{width: '3rem', 'height': '3rem'}}/>|ストリーミング| 安定版 | ClickPipes を構成して、AWS MSK から ClickHouse Cloud へのストリーミングデータの取り込みを開始します。 | |
| 31 | +| Azure Event Hubs |<Azureeventhubssvg class="image" alt="Azure Event Hubsのロゴ" style={{width: '3rem'}}/>|ストリーミング| 安定版 | ClickPipes を構成して、Azure Event Hubs から ClickHouse Cloud へのストリーミングデータの取り込みを開始します。 | |
| 32 | +| WarpStream |<Warpstreamsvg class="image" alt="WarpStreamのロゴ" style={{width: '3rem'}}/>|ストリーミング| 安定版 | ClickPipes を構成して、WarpStream から ClickHouse Cloud へのストリーミングデータの取り込みを開始します。 | |
| 33 | + |
| 34 | +## サポートされているデータ形式 {#supported-data-formats} |
| 35 | + |
| 36 | +サポートされている形式は次のとおりです。 |
| 37 | + |
| 38 | +- [JSON](/integrations/data-formats/json/overview) |
| 39 | +- [AvroConfluent](/interfaces/formats/AvroConfluent) |
| 40 | + |
| 41 | +## サポートされるデータ型 {#supported-data-types} |
| 42 | + |
| 43 | +### 標準 {#standard-types-support} |
| 44 | + |
| 45 | +現在、ClickPipes では次の標準的な ClickHouse データ型がサポートされています。 |
| 46 | + |
| 47 | +- 基本的な数値型 - \[U\]Int8/16/32/64、Float32/64、および BFloat16 |
| 48 | +- 大きな整数型 - \[U\]Int128/256 |
| 49 | +- Decimal 型 |
| 50 | +- Boolean |
| 51 | +- String |
| 52 | +- FixedString |
| 53 | +- Date, Date32 |
| 54 | +- DateTime, DateTime64(UTC タイムゾーンのみ) |
| 55 | +- Enum8/Enum16 |
| 56 | +- UUID |
| 57 | +- IPv4 |
| 58 | +- IPv6 |
| 59 | +- すべての ClickHouse LowCardinality 型 |
| 60 | +- 上記のいずれかの型(Nullable を含む)をキーおよび値に使用する Map |
| 61 | +- 上記のいずれかの型(Nullable を含む、1 階層のみ)を要素に使用する Tuple および Array |
| 62 | +- SimpleAggregateFunction 型(AggregatingMergeTree または SummingMergeTree を出力先とする場合) |
| 63 | + |
| 64 | +### Avro {#avro} |
| 65 | + |
| 66 | +#### サポートされている Avro データ型 {#supported-avro-data-types} |
| 67 | + |
| 68 | +ClickPipes は、すべての Avro プリミティブ型および複合型と、`time-millis`、`time-micros`、`local-timestamp-millis`、`local_timestamp-micros`、`duration` を除くすべての Avro 論理型をサポートします。Avro の `record` 型は Tuple に、`array` 型は Array に、`map` 型は Map(キーは文字列のみ)に変換されます。通常、[こちら](/interfaces/formats/Avro#data-type-mapping) に記載されている変換が利用可能です。ClickPipes は型変換時のオーバーフローや精度低下を検証しないため、Avro の数値型については型を厳密に一致させることを推奨します。 |
| 69 | +また、すべての Avro 型を `String` カラムに挿入することもでき、その場合は有効な JSON 文字列として表現されます。 |
| 70 | + |
| 71 | +#### Nullable 型と Avro ユニオン {#nullable-types-and-avro-unions} |
| 72 | + |
| 73 | +Avro における Nullable 型は、ベースとなる Avro 型を T としたとき、`(T, null)` または `(null, T)` の Union スキーマを使用して定義されます。スキーマ推論時には、そのようなユニオンは ClickHouse の "Nullable" カラムにマッピングされます。なお、ClickHouse は |
| 74 | +`Nullable(Array)`、`Nullable(Map)`、`Nullable(Tuple)` 型をサポートしません。これらの型に対する Avro の null ユニオンは、非 Nullable 型にマッピングされます(Avro の Record 型は ClickHouse の名前付き Tuple にマッピングされます)。これらの型に対する Avro の "null" は次のように挿入されます: |
| 75 | + |
| 76 | +- null の Avro Array には空の Array |
| 77 | +- null の Avro Map には空の Map |
| 78 | +- null の Avro Record には、すべての要素がデフォルト値/ゼロ値の名前付き Tuple |
| 79 | + |
| 80 | +#### Variant 型のサポート {#variant-type-support} |
| 81 | + |
| 82 | +ClickPipes は、次の状況で Variant 型をサポートします: |
| 83 | + |
| 84 | +- Avro Unions。Avro スキーマに複数の非 null 型を含む union がある場合、ClickPipes は |
| 85 | + 適切な Variant 型を推論します。その他の Avro データでは Variant 型はサポートされません。 |
| 86 | +- JSON フィールド。ソース データストリーム内の任意の JSON フィールドに対して、`Variant(String, Int64, DateTime)` のように |
| 87 | + Variant 型を手動で指定できます。複合サブタイプ(array/map/tuple)はサポートされません。さらに、ClickPipes が |
| 88 | + 使用する正しい Variant サブタイプを判定する方法の都合上、Variant の定義では整数型および datetime 型をそれぞれ 1 種類しか使用できません。 |
| 89 | + たとえば、`Variant(Int64, UInt32)` はサポートされません。 |
| 90 | + |
| 91 | +#### JSON 型のサポート {#json-type-support} |
| 92 | + |
| 93 | +ClickPipes は、次のような場合に JSON 型をサポートします: |
| 94 | + |
| 95 | +- Avro の Record 型は、常に JSON カラムに割り当てることができます。 |
| 96 | +- Avro の String 型および Bytes 型は、そのカラムが実際に JSON の String オブジェクトを保持している場合、JSON カラムに割り当てることができます。 |
| 97 | +- 常に JSON オブジェクトである JSON フィールドは、宛先の JSON カラムに割り当てることができます。 |
| 98 | + |
| 99 | +なお、固定パスやスキップしたパスも含めて、宛先カラムを目的の JSON 型に手動で変更する必要があります。 |
| 100 | + |
| 101 | +## Kafka 仮想カラム {#kafka-virtual-columns} |
| 102 | + |
| 103 | +Kafka 互換ストリーミングデータソースでは、次の仮想カラムがサポートされています。新しい宛先テーブルを作成する際は、`Add Column` ボタンを使用して仮想カラムを追加できます。 |
| 104 | + |
| 105 | +| Name | Description | Recommended Data Type | |
| 106 | +|------------------|------------------------------------------------------|------------------------| |
| 107 | +| `_key` | Kafka メッセージのキー | `String` | |
| 108 | +| `_timestamp` | Kafka タイムスタンプ(ミリ秒精度) | `DateTime64(3)` | |
| 109 | +| `_partition` | Kafka パーティション | `Int32` | |
| 110 | +| `_offset` | Kafka オフセット | `Int64` | |
| 111 | +| `_topic` | Kafka トピック | `String` | |
| 112 | +| `_header_keys` | レコードヘッダー内のキーの並列配列 | `Array(String)` | |
| 113 | +| `_header_values` | レコードヘッダー内のヘッダー値の並列配列 | `Array(String)` | |
| 114 | +| `_raw_message` | Kafka メッセージ全体 | `String` | |
| 115 | + |
| 116 | +`_raw_message` カラムは JSON データに対してのみ推奨される点に注意してください。 |
| 117 | +JSON 文字列だけが必要なユースケース(たとえば ClickHouse の [`JsonExtract*`](/sql-reference/functions/json-functions#jsonextract-functions) 関数を使用して |
| 118 | +下流の materialized view にデータを投入する場合など)では、すべての「非仮想」カラムを削除することで ClickPipes のパフォーマンスが向上する可能性があります。 |
0 commit comments