我在client上有一个csv文件。为了使数据可以被不同机器上的工作节点访问,我正在使用client.scatter并引用 Loading local file from client onto dask distributed cluster。 这是我的代码。
import pandas as pd
import time
import dask as dask
import dask.distributed as distributed
import dask.dataframe as dd
import dask.delayed as delayed
from dask.distributed import Client,progress
client = Client('scheduler:port')
df = pd.read_csv('file.csv')
[f]= client.scatter([df]) # send dataframe to one worker
ddf = dd.from_delayed([f], meta=df).repartition(npartitions=100).persist()
ddf = ddf.groupby(['col1'])[['col2']].sum()
future=client.compute(ddf)
print future
progress(future)
result = client.gather(future)
print result
此代码对于具有100万条记录的csv文件运行良好,但是对于具有6000万条记录的csv文件,则运行时间太长。我犯了什么错误?任何帮助将不胜感激。