gpt4 book ai didi

namespaces - Avro 命名空间错误

转载 作者:行者123 更新时间:2023-12-04 16:57:39 24 4
gpt4 key购买 nike

我有个问题。
我制作了以下 avro 架构:

{
"namespace": "foo",
"fields": [
{
"type": [
"string",
"null"
],
"name": "narf"
},
{
"namespace": "foo.run",
"fields": [
{
"type": [
"string",
"null"
],
"name": "baz"
}

],
"type": "record",
"name": "foo"
}
],
"type": "record",
"name": "run"
}

当我尝试编译它时,我收到以下错误:

/usr/bin/python3.4/home/marius/PycharmProjects/AvroTest/avroTest.py
回溯(最近一次调用最后一次):
文件“/home/marius/PycharmProjects/AvroTest/avroTest.py”,第 11 行,在
架构 = avro.schema.Parse(open("simple.avsc").read())

Parse 中的文件“/usr/local/lib/python3.4/dist-packages/avro_python3_snapshot-1.7.7-py3.4.egg/avro/schema.py”,第 1283 行
返回 SchemaFromJSONData(json_data, 名称)

文件“/usr/local/lib/python3.4/dist-packages/avro_python3_snapshot-1.7.7-py3.4.egg/avro/schema.py”,第1254行,SchemaFromJSONData
返回解析器(json_data,名称=名称)

文件“/usr/local/lib/python3.4/dist-packages/avro_python3_snapshot-1.7.7-py3.4.egg/avro/schema.py”,第1182行,_SchemaFromJSONObject
other_props=other_props,

文件“/usr/local/lib/python3.4/dist-packages/avro_python3_snapshot-1.7.7-py3.4.egg/avro/schema.py”,第1061行,在 初始化
字段 = make_fields(names=nested_names)

文件“/usr/local/lib/python3.4/dist-packages/avro_python3_snapshot-1.7.7-py3.4.egg/avro/schema.py”,第1173行,在MakeFields中
返回元组(RecordSchema._MakeFieldList(field_desc_list,名称))

文件“/usr/local/lib/python3.4/dist-packages/avro_python3_snapshot-1.7.7-py3.4.egg/avro/schema.py”,第 986 行,在 _MakeFieldList
yield RecordSchema._MakeField(index, field_desc, names)

文件“/usr/local/lib/python3.4/dist-packages/avro_python3_snapshot-1.7.7-py3.4.egg/avro/schema.py”,第 957 行,在 _MakeField
名字=名字,

文件“/usr/local/lib/python3.4/dist-packages/avro_python3_snapshot-1.7.7-py3.4.egg/avro/schema.py”,第1254行,SchemaFromJSONData
返回解析器(json_data,名称=名称)

文件“/usr/local/lib/python3.4/dist-packages/avro_python3_snapshot-1.7.7-py3.4.egg/avro/schema.py”,第1135行,_SchemaFromJSONString
% (json_string, sorted(names.names)))

avro.schema.SchemaParseException:未知命名架构“记录”,已知名称:['foo.run']。

我不知道为什么。在我看来,错误是名为“foo”的记录,但我给出的命名空间(“foo.run”)在命名空间列表中,但无论如何都会引发错误。我想我对命名空间有一些误解,但我不知道是什么。

问候
马吕斯

最佳答案

好的,找到了错误,是用我自己的程序生成了这个模式,当嵌套记录出现在嵌套记录中时它有一个错误。 #
见:How to nest records in an Avro schema?

关于namespaces - Avro 命名空间错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30255762/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com