Ich habe eine pandas dataframe
, um als Flask Response
Objekt in einer flask
Anwendung zurückgegeben werden. Derzeit bin Umwandlung ich es zu einem JSON Object
,Wie serialisiert/deserialisiert Pandas DataFrame in und von ProtoBuf/Gzip in einer RESTful Flask App?
df = df.to_json()
return Response(df, status=200, mimetype='application/json')
Die Datenrahmen Größe ist wirklich riesig von der Größe, wahrscheinlich 5000000 X 10. Auf der Client-Seite, wenn ich deserialisieren es wie
df = response.read_json()
Wie Meine Nummer URL request parameters
wächst, die dataframe
wächst auch. Die Deserialisierungszeit wächst bei linear factor
im Vergleich zur Serialisierung, die ich vermeiden möchte. Beispiel: Serialization
dauert 15-20 Sekunden, deserialization
dauert 60-70 Sekunden.
Gibt es eine Möglichkeit, protobuf
kann in diesem Fall helfen Pandas Dataframe in ein Protobuf-Objekt zu konvertieren. Gibt es auch eine Möglichkeit, dass ich diese JSON
als Gunzipped
Mimetype durch Flasche senden kann? Ich glaube, dass es zwischen protobuf
und gunzip
ein vergleichbares Timing und eine vergleichbare Effizienz gibt.
Was ist die beste Lösung in einem solchen Szenario?
Vielen Dank im Voraus.