데이터 엔지니어링 입문
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# Partition dataframe into 4 athlete_events_dask = dd.from_pandas(athlete_events, npartitions = 4)# Run parallel computations on each partition result_df = athlete_events_dask.groupby('Year').Age.mean().compute()
데이터 엔지니어링 입문