为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Windows 10上使用avro-python3解析文件?

如何在Windows 10上使用avro-python3解析文件?

墨色风雨 2023-09-19 13:59:26
我已将 AVRO 文件(带有 JSON 负载)从 Microsoft Azure 下载到我的 Windows 10 计算机:然后通过 pip 安装 python 3.8.5 和 avro 1.10.0 我尝试运行以下脚本:import os, avrofrom avro.datafile import DataFileReader, DataFileWriterfrom avro.io import DatumReader, DatumWriterreader = DataFileReader(open("48.avro", "rb"), DatumReader())for d in reader:    print(d)reader.close()不幸的是,脚本没有打印任何内容。然后我四处搜索并尝试添加如下所示的架构:schema_str = """{  "type" : "record",  "name" : "EventData",  "namespace" : "Microsoft.ServiceBus.Messaging",  "fields" : [ {    "name" : "SequenceNumber",    "type" : "long"  }, {    "name" : "Offset",    "type" : "string"  }, {    "name" : "EnqueuedTimeUtc",    "type" : "string"  }, {    "name" : "SystemProperties",    "type" : {      "type" : "map",      "values" : [ "long", "double", "string", "bytes" ]    }  }, {    "name" : "Properties",    "type" : {      "type" : "map",      "values" : [ "long", "double", "string", "bytes", "null" ]    }  }, {    "name" : "Body",    "type" : [ "null", "bytes" ]  } ]}"""schema = avro.schema.parse(schema_str)reader = DataFileReader(open("48.avro", "rb"), DatumReader(schema, schema))for d in reader:    print(d)reader.close()但这并没有帮助,仍然没有打印任何内容。虽然我期待会打印字典对象列表......
查看完整描述

1 回答

?
喵喔喔

TA贡献1735条经验 获得超5个赞

正如 OneCricketeer 建议使用 PySpark 读取 EventHub 生成的 avro 文件。此处,PySpark:反序列化 eventhub 捕获 avro 文件中包含的 Avro 序列化消息就是这样的示例。



查看完整回答
反对 回复 2023-09-19
  • 1 回答
  • 0 关注
  • 108 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信