日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【干货】Dask快速搭建分布式集群(大数据0基础可以理解,并使用!)

發布時間:2025/4/16 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【干货】Dask快速搭建分布式集群(大数据0基础可以理解,并使用!) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

非常開心,解決了很久都沒有解決的問題

使用的語言: Python3.5
分布式機器: windows7

注意到,其實,通過這工具搭建分布式不需要管使用的電腦是什么系統。

分布式使用流程

Created with Rapha?l 2.1.2使用分布式系統用戶用戶分布式Scheduler分布式Scheduler分布式worker1分布式worker1分布式worker2分布式worker2分布式worker3分布式worker3分布式worker...分布式worker...發送任務計算任務一計算任務二計算任務三計算任務...計算任務一結果計算任務二結果計算任務三結果計算任務...結果計算結果

分布式結構

  • 由Scheduler跟Worker1,Worker2…構成了整個分布式系統的結構
  • 用戶可以變,用戶的任務也可以變。但只要分布式集群的結構搭建起來之后,要做的事情就可以用很多了。
  • 關鍵的一點:,使用的時候不要去改變分布式系統。
  • 用戶將任務發出來,也就是說,用戶自己單獨在一臺電腦上運行代碼就好了。 交給搭建好的分布式集群系統!

上面是關于分布式系統的基本概念(或者必要知識。

下面開始講述搭建過程

搭建分布式

  • 這里使用的是Python的分布式庫Dask。
  • 先安裝這個庫。具體方法:在命令行下輸入pip install dask[complete] (如果已經安裝好這個庫了就會提示已經安裝好了)

庫是一定要安裝的。而且這個庫特別小。1MB左右???大膽下吧

  • 之前流程圖中每一個單位,其實都是一臺電腦來的。(當然,你開多個窗口,在一臺電腦上,其實也是可以的。
  • 首先,在一臺電腦上(命令行條件下, 輸入dask-scheduler。就會爆出一堆的信息。其中有個地方很關鍵

  • 在我這,就是使用那個tcp://,后面的那個地址,加上端口號。

  • 而這個地址,就是未來要給,用戶使用的地址
  • 多臺電腦上,同樣打開電腦。打開命令行模式, 輸入:dask-worker 192.168.0.199:8786。注意到,這里的這個地址其實就是剛剛說到的那個地址,每個人的結果都會是不一樣的。大家根據自己的情況來決定。
  • 每個電腦根據自己的身份輸入上面的代碼,之后。 在scheduler電腦,上的信息出現了別的信息之后。就連接成功了。
  • 如果不成功,請再輸入一次之前的代碼。你肯定是哪里輸入錯了!!!

到這里,分布式系統,其實已經搭建好了。下面,模擬用戶來使用

用戶是一臺新的電腦(當然,也可以是任何的一臺電腦。但是必須要跟這些電腦都在同樣的一個局域網下。在這樣的條件下,開始使用,我們之前搭建好的服務器。

下面是我在一個一臺電腦上運行的寫的代碼
記得!,要把client上的IP地址跟端口號都寫成之前Scheduler的IP地址跟端口號

  • 可以理解,Scheduler是整個分布式系統的給用戶的接口。

下面是我用代碼:

from dask.distributed import Client from time import timedef square(x):return x ** 2if __name__ == '__main__':MAX = 1000st = time()client = Client('192.168.0.199:8786') # 這里的地址記得根據我上面說的修改掉。A = client.map(square, range(MAX))total = client.submit(sum, A)print(total.result())et = time()print(et - st)

這是輸出的結果:

332833500
0.6459999084472656

后記

這個框架搭建好,以后,我們以后就只需要通過修改函數的本質,就可以實現關于分布式了。
有人可能會說,這么簡單的分布式,為什么工資會高?
我想給有這樣想法的朋友說一下。
首先,要知道這個工具的開發者將這個工具開發的已經非常好了,接口分裝的特別不錯。他們的付出是值得大家認可的。
其次,理解,并使用這個框架也不是很容易的(請給我鼓勵
再來,這只是一個非常簡單的Demo。其中還有很多的細節需要注意的,都沒有。很多算法需要解決的,也沒有。
可以說,這里的坑還有很多!
最后,我想肯定還是有我不知道的東西的!所以…

最后,老套路,宣傳一波自己的公眾號!(求關注哇!)
本人中大一肥宅,歡迎大家關注,請掃下面的二維碼(〃’▽’〃)


如果覺得有幫助的話,可以掃碼,贊賞鼓勵一下!謝謝!


總結

以上是生活随笔為你收集整理的【干货】Dask快速搭建分布式集群(大数据0基础可以理解,并使用!)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。