データエンジニアリング入門
Vincent Vankrunkelsven
Data Engineer @ DataCamp
現代のデータ処理基盤
考え方


仕立て屋の運営
目標: シャツ100枚
複数人での作業 > 最高の一人
RAM メモリ チップ:

通信によるオーバーヘッド
並列化の遅延:


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# データフレームを4分割 athlete_events_dask = dd.from_pandas(athlete_events, npartitions = 4)# 各パーティションで並列計算を実行 result_df = athlete_events_dask.groupby('Year').Age.mean().compute()
データエンジニアリング入門