【发布时间】:2016-11-18 04:26:53
【问题描述】:
我有一个 pandas dataframe 在flask 应用程序中作为Flask Response 对象返回。目前我正在将其转换为JSON Object,
df = df.to_json()
return Response(df, status=200, mimetype='application/json')
数据框的大小非常大,可能是 5000000 X 10。 在客户端,当我将其反序列化为时,
df = response.read_json()
随着URL request parameters 数量的增长,dataframe 的数量也在增长。与序列化相比,反序列化时间以linear factor 增长,这是我想避免的。例如:Serialization 需要 15-20 秒,deserialization 需要 60-70 秒。
在这种情况下,protobuf 是否可以帮助将 pandas 数据帧转换为 protobuf 对象。还有一种方法可以通过烧瓶将JSON 作为Gunzipped mimetype 发送吗?我相信protobuf 和gunzip 之间的时间和效率相当。
在这种情况下最好的解决方案是什么?
提前致谢。
【问题讨论】:
标签: python json serialization gzip protocol-buffers