Lập trình song song với Dask trong Python
James Fulton
Climate Informatics Researcher
# Tạo 2 đối tượng delayed delayed_num1 = delayed(my_square_function)(3) delayed_num2 = delayed(my_square_function)(4) # Cộng chúng result = delayed_num1 + delayed_num2# Vẽ đồ thị tác vụ result.visualize()

delayed_intermediate = delayed(my_square_function)(3)
# Hai kết quả này đều dùng delayed_intermediate_result
delayed_result1 = delayed_intermediate - 5
delayed_result2 = delayed_intermediate + 4
delayed_result1.visualize()

delayed_result2.visualize()
# Vẽ đồ thị tác vụ
dask.visualize(delayed_result1, delayed_result2)

# Tính tổng hai mảng lớn
sum1 = delayed(np.sum)(big_array1)
sum2 = delayed(np.sum)(big_array2)
# Tính bằng tiến trình
dask.compute(sum1, sum2)

# Tính tổng hai mảng lớn
sum1 = delayed(np.sum)(big_array1)
sum2 = delayed(np.sum)(big_array2)
# Tính bằng luồng
dask.compute(sum1, sum2)

Global interpreter lock - chỉ một luồng có thể đọc mã Python tại một thời điểm
def sum_to_n(n):
"""Sums numbers from 0 to n"""
total = 0
for i in range(n+1):
total += i
return total
sum1 = delayed(sum_to_n)(1000)
sum2 = delayed(sum_to_n)(1000)

pd.read_csv() giải phóng GILdf1 = delayed(pd.read_csv)('file1.csv')
df2 = delayed(pd.read_csv)('file2.csv')

Lập trình song song với Dask trong Python