【问题标题】:Converting gRPC protobuf message to json runs for long将 gRPC protobuf 消息转换为 json 运行很长时间
【发布时间】:2018-08-11 23:40:49
【问题描述】:

我们正在尝试将 gRPC protobuf 消息最终转换为 json 格式的对象,以便在 python 中进行处理。 从服务器以序列化格式发送的数据约为 35MB,大约有 15K 条记录。但是当我们将 protobuf 消息转换为字符串(使用 MessageToString)时,它大约为 135 MB,而当我们将 protobuf 消息转换为 JSON 字符串(使用 MessageToJson)时,它大约为 140MB。但是每个转换所需的时间约为 5 分钟。它不会增加任何价值,因为我们需要花费大量时间在客户端转换数据。

我们遗漏的任何想法、建议或警告都会有所帮助。谢谢。

【问题讨论】:

  • 为什么不跳过 JSON 转换呢? Python 支持 protobuf:developers.google.com/protocol-buffers/docs/pythontutorial
  • @Blender:谢谢!我们有一个在客户端使用的流式 gRPC api,一旦接收到数据,它将使用 python(pandas) 进行处理,以便以特定格式为消费者创建文件。正在传递的数据是嵌套的,大约有 15-20k 条记录。这就是我们试图获取 json 中的数据进行处理的地方。希望这不会使水变得浑浊,这还不是! :)
  • 通过仅选择反序列化数据时需要的字段来解决问题,而不是反序列化从服务器返回的所有数据。

标签: python json protocol-buffers grpc


【解决方案1】:

通过仅选择反序列化数据时需要的字段来解决问题,而不是反序列化从服务器返回的所有数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-31
    相关资源
    最近更新 更多