Dask는 병렬처리를 지원하는 Python Library
- 대규모 데이터의 분산처리 지원
- Pandas와 Numpy형식을 그대로 계산지원
- Delayed라는 함수 형식으로 함수를 병렬로 지원
- 최적화된 Dynamic task scheduling 지원
Dask Array
import dask.array as da
f = h5py.File('myfile.hdf5')
x = da.from_array(f['/big-data'], chunks = (1000, 1000))
x - x.mean(axis=1).compute()
Dask DataFrame
import dask.dataframe as dd
df = dd.read_csv('file.csv')
df.groupby(df.user_id).value.mean().compute()
Dask Bag
import dask.bag as db
b = db.read_text('file.json.gz').map(json.loads)
b.pluck('name').frequencies().topk(10, lamba pair: pair[1]).compute()
Dask Delayed
from dask import delayed
L = []
for fn in filenames:
data = delayed(load)(fn)
L.append(delayed(process)(data))
result = delayed(summarize)(L)
result.compute()
'프로그래밍 > 병렬처리' 카테고리의 다른 글
multi-process vs multi-thread (2) | 2023.11.20 |
---|