0

JSON有效负载:

{
"BILLING_EVENT_RULE_MET_DT": "lsks",
"PlanType":"hhh"
}

AVRO 架构:

{
  "name": "Subscription",
  "type":"record",
  "doc": "Subscription details",
  "fields": 
    [
    { "name": "BILLING_EVENT_RULE_MET_DT",  "type":[ "null","string"],"default": null },

    {"name": "PlanType",
    "type":
         {
         "name":"PlanType",
         "type": "fixed",
            "size": 4
         }
    }
    ]
}

ERROR:
The value [hhh] for field [PlanType] should be [FixedType <size: 4, name: PlanType, namespace: None, aliases: None>].

在验证它给我以下错误时,我应该在 PlanType 字段的 json 有效负载中写什么?实际上这就是我正在探索的所有内容,因为我想为类似于 XML 模式的 AVRO 模式中的字段定义最大长度和最小长度。

4

1 回答 1

0

如果“PlanType”的字段大小不是常数,则不能使用“固定”类型。

如果数据是字符串,则可以使用“字符串”类型;如果数据类型是任何字节序列,则可以使用“字节”类型。

请注意,使用“字符串”或“字节”意味着它不能没有字符/零字节。

要启用空值,您应使用联合类型(即“空”和“字符串”的联合或“空”和“字节”的联合)。

没有办法将最小尺寸或最大尺寸作为 avro 模式的一部分。请参阅avro 规范

于 2019-12-01T09:38:08.690 回答