0
這是一個後續問題,以回答我之前關於使用Dask計算到access one element in a large array的問題之一的可能答案。使用Dask計算會導致執行掛起
爲什麼使用Dask計算會導致執行掛起? 這裏的工作代碼片段:
#Suppose you created a scheduler at the ip address of 111.111.11.11:8786
from dask.distributed import Client
import dask.array as da
# client1
client1 = Client("111.111.11.11:8786")
x = da.ones(10000000, chunks=(100000,)) # 1e7 size array cut into 1e5 size chunks
x = x.persist()
client1.publish_dataset(x=x)
# client2
client2 = Client("111.111.11.11:8786")
x = client2.get_dataset('x') #get the lazy collection x
result = x[0].compute() #code execution hangs here
print(result)
嗨MDurant,當我在定義client1之前堅持,滯後仍然發生。爲了保持一致性,我更新了上例中的代碼。 – sudouser2010
滯後就好 - 當你堅持時你仍然在工人中創建數據 - 但現在它成功了嗎?您的代碼幾乎立即在我的筆記本電腦上運行。 – mdurant
我能夠得到它的工作。我有兩個問題。首先,我不是使用111.111.11.11:8786,而是使用tcp://111.111.11.11:8786。其次,我沒有爲調度員創建任何工作人員。有趣的是,在使用persist後定義客戶端時,我能夠使代碼工作。 – sudouser2010