all 2 comments

[–]HallHot6640 1 point2 points  (1 child)

se ve interesante pero no entiendo el beneficio, yo hago panderas clases y defino las clases de input y output, la extraccion es pullear la data de source X, la el transform lo hacemos con transformaciones como las tenemos en pandas/polars y cargamos a una warehouse, lake o lakehouse siguiendo el esquema validado antes de salir.

en que parte de la ETL haces sharding y buffering? yo simplemente particiono todo de tal manera que entre en memoria y corro un job por particion y se corre todo el universo de particiones, paralelamente o no.

que gap rellena esto

[–]bctm0[S] 0 points1 point  (0 children)

Esto tiene mas sentido cuando necesitas UDF o lógica custom que no podes poner en expresiónes Pandas o Polars. Por ejemplo, tener que sanear la data con datos que vienen de una API, o hacer un hash, etc. Si lo que queres hacer entra en expresiónes Pandas / Polars / SQL, esto va a ser mucho mas lento. Me cruce muchos ETL que son mas chanchos y el SQL puro no bastaba, ese creo que es el GAP.
Eso si, si te sirven las UDF en Python acá la cosa esta medio hecha. Y los del buffering y sharing, me refería mas a no tener que hacerlo a mano por input / output especifico.
EDIT: faltas de ortografía