首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >处理多个AVRO (avsc文件),这些AVRO(avsc文件)位于不同的目录中,并使用python (fastavro)相互引用

处理多个AVRO (avsc文件),这些AVRO(avsc文件)位于不同的目录中,并使用python (fastavro)相互引用
EN

Stack Overflow用户
提问于 2020-09-04 05:48:27
回答 1查看 132关注 0票数 0

我在不同的目录下有两个avsc文件-

代码语言:javascript
复制
1.  com.company.model.AddressRecord.avsc
2.  com.company.model.Customer.avsc

这是地址文件

代码语言:javascript
复制
{
    "type": "record",
    "namespace": "com.company.model",
    "name": "AddressRecord",
    "fields": [
        {
            "name": "streetaddress",
            "type": "string"
        },
        {
            "name": "city",
            "type": "string"
        },
        {
            "name": "state",
            "type": "string"
        },
        {
            "name": "zip",
            "type": "string"
        }
    ]
}

下面是客户文件,它是一个父(顶层)模式

代码语言:javascript
复制
{
    "namespace": "com.company.model",
    "type": "record",
    "name": "Customer",
    "fields": [
        {
            "name": "firstname",
            "type": "string"
        },
        {
            "name": "lastname",
            "type": "string"
        },
        {
            "name": "email",
            "type": "string"
        },
        {
            "name": "phone",
            "type": "string"
        },
        {
            "name": "address",
            "type": {
                "type": "array",
                "items": "com.company.model.AddressRecord"
            }
        }
    ]
}

当两个文件位于同一目录时,我可以使用fastavro加载这些文件

代码语言:javascript
复制
fastavro.schema.load_schema('com.company.model.Customer.avsc')

但当两个avsc文件位于不同的目录时,它不起作用。如果两个avsc文件位于不同的目录中,我需要对文件进行哪些更改,以便fast avro可以加载架构

EN

回答 1

Stack Overflow用户

发布于 2020-09-04 06:56:03

documentation for load_schema说它只对同一目录中的文件起作用。目前还不能做你想做的事情。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63732097

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档