top of page

¿cuantas lineas como maximo en un csv/txt para paralelizar con big data?

  • Foto del escritor: Alejandro Rivero
    Alejandro Rivero
  • 7 jul 2019
  • 1 Min. de lectura

Ahora que los equipos tienen SSD y mucha memoria, el cuello de botella se vuelve a trasladar del disco a la cpu. Hay que extraer las lineas que nos pide el usuario, y si no tenemos indices y acceso directo no nos queda otra que buscar en los ficheros.

La orden grep en cierto modo nos marca el estado del arte: si su fichero esta ya cargado en memoria por el OS, puede hacer dos millones de lineas por segundo. Si todavia dependemos de un disco magnetico, puede bajar a 500000 o 800000.

Postgresql, v10, tambien es capaz de grepear (segun uses ilike o like, y se cachee o no la tabla) entre 500000 y cuatro millones de lineas por segundo.

Pero un grep desde python, que es lo mas elemental en cuanto a operacion de mapreduce que puedes tener, se va a quedar limitado a unas 300000 o 400000 lineas por segundo, aunque uses dos o tres hilos o una pool de procesos para separar la extraccion de fichero y su procesamiento. Hay que afinar mucho el recorrido del fichero, tirando de coroutinas, iterador de lineas, mmap, y hasta binary para que no haga conversiones redundantes. Si relajas la organizacion, facilmente pierdes un factor dos por aqui y otro por alla.

Asi que sigue siendo prudente considerar un maximo de unas 50000 lineas por fichero si hay que hacer operaciones sofisticadas, y quizas cien o doscientas mil lineas si uno cuenta que lo que va a hacer es una extraccion muy simple.

Entradas recientes

Ver todo
Mass Gap from Kaluza Klein

This is just a series of proposed blog posts from chatGPT, each in separate markdown format See also https://chatgpt.com/c/6953f699-3088-832d-8e4f-9104a9264251

 
 
 
vLLM con ray a mano

#necesarioexport SSL_CERT_FILE=/fs/agustina/arivero/supercomplex/.local/lib/python3.11/site-packages/certifi/cacert.pem export RAY_NODE_MANAGER_HEARTBEAT_TIMEOUT_MILLISECONDS=20000 # 20 seconds expor

 
 
 

Comentarios


Never Miss a Post. Subscribe Now!

I'm a paragraph. Click here to add your own text and edit me. It's easy.

Thanks for submitting!

© 2035 by Kathy Schulders. Powered and secured by Wix

  • Grey Twitter Icon
bottom of page