我有以下对象:
[
{"ProductId":10,"ProductName":"some name"}
]
Bu 有时我只是空。
我正在尝试为此提出一个架构。但它似乎:(不起作用。
我尝试了以下两种:
{
"name": "ProductsOrNull",
"type": ["null", {
"type": "array",
"name": "Products",
"items": {
"type":"record",
"name": "Product",
"fields": [{
"name":"ProductId",
"type":"long"
}, {
"name":"ProductName",
"type":"string"
}
]
}
}],
"default": null
}
但它失败了,线程“main”org.apache.avro中出现<code>异常。SchemaParseException:无类型:
我也尝试了同样的错误:
{
"type": ["null", "array"],
"name": "Products",
"items": {
"type":"record",
"name": "Product",
"namespace": "{{ dataModelSchema }}",
"fields": [{
"name":"ProductId",
"type":"long"
}, {
"name":"ProductName",
"type":"string"
}
]
}
}
我真的不明白问题出在哪里,两者有什么区别。
基于您模式,您的json对象应该看起来像这样
{
"ProductsOrNull" :
[
{"ProductId":10,"ProductName":"some name"}
]
}
没有办法使用没有字段名称的数组来定义和 avro 架构。
嘿,我想将ConFluent模式注册表与Avro Serializers一起使用:留档现在基本上是说:不要为多个不同的主题使用相同的模式 谁能解释一下原因吗?我重新搜索了源代码,它基本上将模式存储在Kafka主题中,如下所示(topicname,magicbytes,version- 因此,除了冗余之外,我看不到多次使用模式的问题?
这实际上与我之前的问题相同,但使用Avro而不是JSON作为数据格式。 我正在使用一个Spark数据框架,它可以从几个不同的模式版本之一加载数据: 我正在使用Spark Avro加载数据。 它可能是版本一文件或版本二文件。但是我希望能够以相同的方式处理它,将未知值设置为“null”。我之前的问题中的建议是设置模式,但是我不想重复自己在文件中编写模式,也不想重复自己在和朋友中编写模式。如何将avro
我在Kafka的制作人那个里工作,推动主题中的信息。我用的是融合的Kafka。 github上的喜欢问题 下面是我的模式。avsc文件。 Keys.avsc 测试.avsc 生产者.py 当我尝试注册时,它工作正常,没有错误。但是当我尝试注册之后注册。我得到以下错误。 confluent_kafka.avro.error。ClientError:架构分析失败:未知的命名架构“io.codebrew
我使用Avro模式动态地从C#应用程序生成消息到Kafka集群,使用汇合的Kafka客户机。在编译时不知道数据类型,因此我使用命名空间中的GenericRecord类,如下所述:https://www.confluent.io/blog/decoupling-systems-with-apache-kafka-schema-registry-and-avro/。 但是,我有一个问题--如果模式有一
我得到了一个定义字段的警告: 我试图将其更改为: 现在它根本不起作用,因为模式无效。 错误: 知道怎么解决吗?
我有一个问题,我的记录json可以为null。如何处理avro模式中的空记录?给出的文档是针对我想要为null记录获取的null属性的。