Introducción a la ingeniería de datos
Vincent Vankrunkelsven
Data Engineer @ DataCamp
Base de las herramientas modernas de procesamiento de datos
Idea


Gestionar una sastrería
Objetivo: 100 camisas
Varios sastres a la vez > mejor sastre solo
Memoria RAM:

Sobrecoste por comunicación
Ralentización en paralelo:


multiprocessing.Pool
from multiprocessing import Pooldef take_mean_age(year_and_group): year, group = year_and_group return pd.DataFrame({"Age": group["Age"].mean()}, index=[year])with Pool(4) as p: results = p.map(take_mean_age, athlete_events.groupby("Year"))result_df = pd.concat(results)
dask
import dask.dataframe as dd# Particionar el dataframe en 4 athlete_events_dask = dd.from_pandas(athlete_events, npartitions = 4)# Ejecutar cálculos en paralelo en cada partición result_df = athlete_events_dask.groupby('Year').Age.mean().compute()
Introducción a la ingeniería de datos