sql >> Base de Datos >  >> NoSQL >> Redis

Cómo configurar/obtener marcos de datos de Pandas en Redis usando pyarrow

Aquí hay un ejemplo completo para usar pyarrow para la serialización de un marco de datos de pandas para almacenar en redis

apt-get install python3 python3-pip redis-server
pip3 install pandas pyarrow redis

y luego en python

import pandas as pd
import pyarrow as pa
import redis

df=pd.DataFrame({'A':[1,2,3]})
r = redis.Redis(host='localhost', port=6379, db=0)

context = pa.default_serialization_context()
r.set("key", context.serialize(df).to_buffer().to_pybytes())
context.deserialize(r.get("key"))
   A
0  1
1  2
2  3

Acabo de enviar PR 28494 a pandas para incluir este ejemplo de pyarrow en los documentos.

Documentos de referencia:

  • https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.to_msgpack.html
  • https://arrow.apache.org/docs/python/ipc.html#arbitrary-object-serialization
  • https://arrow.apache.org/docs/python/memory.html#pyarrow-buffer
  • https://stackoverflow.com/a/37957490/4126114