Преобразование нескольких записей JSON в схему avro с использованием PythonPython

Программы на Python
Anonymous
Преобразование нескольких записей JSON в схему avro с использованием Python

Сообщение Anonymous »

Я пытаюсь найти способ автоматического создания реестра схем avro. У меня есть несколько сообщений json из базы данных Mongo, которые я хочу использовать в качестве основы для создания схемы avro.
Краткий пример одного из имеющихся у меня сообщений json:

Код: Выделить всё

{
"_id": "66eb0139f16c486824ac839e",
"parent_id": "66eb0139f16c486824ac839b",
"creation_date": "2024-09-18T16:35:05.667Z",
"parcel_number": "MP6422003-001",
"merchant_id": "3517",
"initial_parcel_price": 5976,
"weight": 11.66,
"length": 2200,
"height": 110,
"width": 160,
"route": {
"route_parts": [
{
"creation_date": "2024-09-18T16:35:05.667Z",
"start_point_terminal": {
"address": {
"geo_id": "743095",
"region": "",
"terminal_type": 2,
"owner": "3517",
"storage_period": null,
"terminal_code": ""
}
]
}
}
Из этого я хочу получить схему AVRO с типами данных.
Я уже пробовал использовать несколько пакетов, которые якобы конвертируют json в avro, но в конце концов выяснилось, что пакет avro.schema не анализирует сообщения json. Следующий код выдает ошибку «SchemaParseException: нет свойства типа».

Код: Выделить всё

with open('test_json.json', 'r') as f:
json_data = json.load(f)
schema = avro.schema.parse(json.dumps(json_data))
Может быть, есть способ преобразовать сообщение json в схему json, а затем преобразовать схему json в avro?

Подробнее здесь: https://stackoverflow.com/questions/790 ... ing-python

Вернуться в «Python»