我在不同的目录中有两个 avsc 文件-
1. com.company.model.AddressRecord.avsc
2. com.company.model.Customer.avsc
这是地址文件
{
"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"
}
]
}
这是客户文件,它是父(顶级)架构
{
"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 加载文件
fastavro.schema.load_schema('com.company.model.Customer.avsc')
但是当两个 avsc 文件位于不同的目录中时,它不起作用。如果两个 avsc 文件位于不同的目录中,我需要在文件中进行哪些更改以便快速 avro 可以加载架构