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

+ Recent posts