我已经看到下面的错误消息已有一段时间了,但无法弄清楚是什么导致了失败。
错误:
concurrent.futures._base.CancelledError: ('sort_index-f23b0553686b95f2d91d4a3fda85f229', 7)
Run Code Online (Sandbox Code Playgroud)
重新启动dask群集后,它将成功运行。
它可以与火花纱客户一起很好地运行,但是纱线簇又如何呢?如果可能的话,请分享我们如何做到这一点。
无论火花执行器的核心数量如何,执行者的纱线容器都不会使用超过1个核心.
我正在尝试使用 dask(async) 框架执行一个简单的任务(一个实例方法),但它因序列化错误而失败。
有人可以指出我正确的方向。
这是我正在运行的代码:
from dask.distributed import Client, as_completed
import time
class DaskConnect:
def __init__(self):
print("Initialized:",self.__class__.__name__)
self.scheduler_host="192.168.0.4"
self.scheduler_port="8786"
def connect(self):
self.client = Client(self.scheduler_host+":"+self.scheduler_port)
# self.client = Client()
return self.client
def disconnect(self):
self.client.close()
class TestDask:
def __init__(self):
print("Initialized:",self.__class__.__name__)
self.dask_client=DaskConnect().connect()
def do_task(self,msg):
time.sleep(30)
return msg
def run(self):
tasks=[1]
# tasks = [1, 2, 3, 4, 5]
futures=[]
for task in tasks:
print("Submitting:",task)
future = self.dask_client.submit(self.do_task, "Task:"+str(task))
futures.append(future)
for future in as_completed(futures):
result = future.result()
print("Result",result)
TestDask().run()
Run Code Online (Sandbox Code Playgroud)
错误:
分布式协议.pickle - 信息 - …