当前位置: 首页 > 知识库问答 >
问题:

处理AVRO架构中的空记录

萧玮
2023-03-14

我有一个问题,我的记录json可以为null。如何处理avro模式中的空记录?给出的文档是针对我想要为null记录获取的null属性的。

共有1个答案

轩辕风华
2023-03-14

这同样适用于记录类型。可以将该类型与null合并。

{
  "name": "SpokenLanguage",
  "type": [
    "null",
    {
      "type": "record",
      "name": "Language",
      "fields": [
        {
          "name": "IsoCode",
          "type": [
            "null",
            "string"
          ],
          "default": null
        },
        {
          "name": "isPrimary",
          "type": "boolean",
          "default": false
        },
        {
          "name": "description",
          "type": [
            "null",
            "string"
          ],
          "default": null
        }
      ]
    }
  ],
  "default": null
}
 类似资料:
  • 我正在尝试为下面的json创建avro模式 错误对象是可选的,它可能是“错误”:{}下面是没有默认值的avro模式 如何在json中添加错误字段的默认值{}。

  • 我用Flink的table API创建了一个表。 当运行SQL以查看记录时,我得到: 我知道有一些坏的avro记录被推送到Kafka主题中。在JSON格式中,有一个选项可以通过设置来跳过/过滤这些记录。当从合流avro格式读取时,我们可以跳过这些记录吗? 这并不理想,但不幸的是,尽管有一个模式注册表,但我无法控制要推送到Kafka的内容。

  • 这实际上与我之前的问题相同,但使用Avro而不是JSON作为数据格式。 我正在使用一个Spark数据框架,它可以从几个不同的模式版本之一加载数据: 我正在使用Spark Avro加载数据。 它可能是版本一文件或版本二文件。但是我希望能够以相同的方式处理它,将未知值设置为“null”。我之前的问题中的建议是设置模式,但是我不想重复自己在文件中编写模式,也不想重复自己在和朋友中编写模式。如何将avro

  • 我有以下对象: Bu 有时我只是我正在尝试为此提出一个架构。但它似乎:(不起作用。 我尝试了以下两种: 但它失败了,线程“main”org.apache.avro中出现<code>异常。SchemaParseException:无类型: 我也尝试了同样的错误: 我真的不明白问题出在哪里,两者有什么区别。

  • 我得到了一个定义字段的警告: 我试图将其更改为: 现在它根本不起作用,因为模式无效。 错误: 知道怎么解决吗?

  • 嘿,我想将ConFluent模式注册表与Avro Serializers一起使用:留档现在基本上是说:不要为多个不同的主题使用相同的模式 谁能解释一下原因吗?我重新搜索了源代码,它基本上将模式存储在Kafka主题中,如下所示(topicname,magicbytes,version- 因此,除了冗余之外,我看不到多次使用模式的问题?