Avro に、値が 、 、 などの単純なキーと値のペアがあるfloat
とdouble
しますint
。string
{"namespace": "com.namespace.kafka.event",
"type": "record",
"name": "RecordName",
"fields": [
{"name": "key", "type": "String"},
{"name": "value", "type": "Any/Object/Bytes???"}
]
}
これを Avro で表現する最良の方法は何ですか?
- Scalaで何らかの形で逆シリアル化されたバイト配列を持ち、型を推測するか、メタデータを含む別の値フィールドを追加します
- 値を入力するプリミティブ タイプごとにカスタム レコード タイプを作成し、Avro で汎用レコード解析を使用する
- 表現したいプリミティブ値の型ごとにキーと値のペアを作成します。
もう 1 つの問題は、これを Scala でどのように表現するかです。Any 型を持つのは面倒です。どこでも型テストを行うよりも、数値などの型を知る方がはるかに優れています...