Поддержка Avro Python довольно пафосна, но вы можете заставить некоторые вещи работать, включая несколько схем одновременно.Вам просто нужно объединить файлы схемы в один файл, и вам нужно убедиться, что они объединены в правильном порядке, чтобы сначала появились зависимости, и вам нужно заменить имена на фактическую схему. Это сценарий, который я используюобъединить их:
def resolve(path):
"fully resolve a schema that includes other schemas"
data = open(path).read()
# fill in any while they remain
while True:
beg = data.find('`')
end = data.find('`', beg + 1)
if beg < 0:
break
path = os.path.join(os.path.dirname(path), data[beg+1:end] + '.avsc')
data = data[:beg] + resolve(path) + data[end+1:]
return data