我有一个在Luigi中完成的处理,在其中一个阶段中,我在DataFrame中执行一系列计算。为了加快速度,我决定使用本地的Dask群集。当我通过Python或Jupyter运行时,群集启动,并且一切运行正常,但是当它在Luigi中运行时,出现以下错误:
UserWarning:无法在端口8787上启动诊断服务器。
df = func(params)
df.to_csv('...')
def func(params):
df = params.get('df')
client = Client()
result = [client.submit(sample, row) for index, row in df.iterrows()]
result = client.gather(result)
new_df = pd.DataFrame(result)
return df
如何解决这个问题?
答案 0 :(得分:0)
这是未经测试的代码(没有使用luigi
的经验)
下面的代码(作为单独的模块)如何-
from dask.distributed import Client
df = func(params)
df.to_csv('...')
def func(params):
df = params.get('df')
result = [client.submit(sample, row) for index, row in df.iterrows()]
result = client.gather(result)
new_df = pd.DataFrame(result)
return df
if __name__ == "__main__":
with Client() as client:
df_result = func(params)