この形式のjsonからavroへの変換で適切なavroスキーマがどのようになるかを知りたいです。
{"entryDate": "2018-01-26T12:00:40.930"}
私のスキーマ:
{
"type" : "record",
"name" : "schema",
"fields" : [{
"name" : "entryDate",
"type" : ["null", {
"type" : "long",
"logicalType" : "timestamp-micros"
}],
"default" : null
}]
}
私は得続けます
`'Cannot convert field entryDate: Cannot resolve union:
"2018-01-26T12:00:40.930"
not in
["null",{"type":"long","logicalType":"timestamp-millis"}]'`
それはばかげた間違いでした...明らかにタイムスタンプ値を文字列として保存していたので、avroスキーマでは型にlongではなく文字列が必要でした。
すなわち。
{
"type" : "record",
"name" : "schema",
"fields" : [{
"name" : "entryDate",
"type" : ["null", {
"type" : `**"long"**`,
"logicalType" : "timestamp-micros"
}],
"default" : null
}]
}
する必要があります
{
"type" : "record",
"name" : "schema",
"fields" : [{
"name" : "entryDate",
"type" : ["null", {
"type" : `**"string"**`,
"logicalType" : "timestamp-micros"
}],
"default" : null
}]
}
どー!