Tôi có một pandas dataframe
để được trả lại dưới dạng đối tượng Flask Response
trong ứng dụng flask
. Hiện nay tôi đang chuyển đổi nó vào một JSON Object
,Làm thế nào để tuần tự hóa/deserialize Pandas DataFrame đến và đi từ ProtoBuf/Gzip trong một ứng dụng bình tĩnh RESTful?
df = df.to_json()
return Response(df, status=200, mimetype='application/json')
Kích thước dataframe thực sự khổng lồ về tầm quan trọng, có lẽ 5000000 X 10 Về phía khách hàng khi tôi deserialize nó như là,
df = response.read_json()
Như số của tôi về số lượng URL request parameters
tăng lên, số lượng dataframe
cũng tăng lên. Thời gian Deserialization phát triển tại một linear factor
so với serialization, mà tôi muốn tránh. ví dụ: Serialization
mất 15-20 giây, deserialization
mất 60-70 giây.
Có cách nào mà protobuf
có thể trợ giúp trong trường hợp này để chuyển đổi khung dữ liệu gấu trúc thành đối tượng protobuf. Ngoài ra, có cách nào để tôi có thể gửi JSON
này làm Gunzipped
mimetype qua bình? Tôi tin rằng có thời gian và hiệu quả tương đương giữa protobuf
và gunzip
.
Giải pháp tốt nhất trong trường hợp như vậy là gì?
Xin cảm ơn trước.