重要
このページの日本語コンテンツは古くなっている可能性があります。最新の英語版コンテンツをご覧になるには、こちらをクリックしてください。
Cast¶
ここでは、Apache Kafka® SMT org.apache.kafka.connect.transforms.Cast
の使用方法を説明します。
説明¶
フィールド(またはキーまたは値の全体)を特定の型に変換(キャスト)し、スキーマが存在する場合はスキーマを更新します。たとえば、整数のフィールドを狭範囲の整数のフィールドにする場合に使用できます。integer、float、boolean、string など、シンプルなプリミティブ型のみがサポートされています。
レコードキー用(org.apache.kafka.connect.transforms.Cast$Key
)または値用(org.apache.kafka.connect.transforms.Cast$Value
)の固有の変換タイプを使用します。
例¶
Cast
では、1 つのプリミティブ型のキー/値の全体、または複合型(Struct または Map)のキーまたは値の 1 つ以上のフィールドを変換できます。次の 2 つの構成スニペットを例に挙げて、2 つのシナリオでの Cast
の使用方法を紹介します。
値のキャスト¶
この例は、Cast
を使用して 64 ビット浮動小数点数値を文字列に変換する方法を示しています。
"transforms": "Cast",
"transforms.Cast.type": "org.apache.kafka.connect.transforms.Cast$Value",
"transforms.Cast.spec": "string"
変換前: 63521704.02
変換後: "63521704.02"
コンマ区切り値のキャスト¶
この例は、複合型のキーまたは値に Cast
を使用する方法を示しています。field:type
のペアがコンマ区切りになっています。 field
はキャストするフィールドの名前、type
はキャストした後のフィールドの型です。
"transforms": "Cast",
"transforms.Cast.type": "org.apache.kafka.connect.transforms.Cast$Value",
"transforms.Cast.spec": "ID:string,score:float64"
以下の変換前と変換後では、ID
フィールドが 46290
、score
フィールドが 4761
の Map または Struct が示されています。ID
フィールドがキャストされて文字列に、score
フィールドが 64 ビット浮動小数点数値に変換されています。
変換前:
{"ID": 46920,"score": 4761}
変換後:
{"ID": "46290","score": 4761.0}
ちなみに
その他の例については、マネージド型コネクターの「キャスト」を参照してください。
プロパティ¶
名前 | 説明 | 型 | デフォルト | 指定可能な値 | 重要度 |
---|---|---|---|---|---|
spec |
値全体をキャストする場合は、1 つの型。Map および Struct の場合は、フィールド名とキャスト後の型のコンマ区切りのリスト( field1:type1,field2:type2 の形式)。指定可能な型は、int8 、int16 、int32 、int64 、float32 、float64 、boolean 、string です。 |
list | コロン区切りのペア("フィールド:型")の、コンマ区切りのリスト(例: foo:int32,bar:string ) |
高 |
述語¶
"述語" を使用することにより、一定の条件を満たすレコードのみに変換が適用されるように、変換を構成することができます。述語は変換チェーンで使用することができ、Filter(Apache Kafka) と組み合わせると、条件に基づいて特定のレコードを除外できます。詳細と例については、「述語」を参照してください。