新聞中心
前言

Python由于其易用性而成為最流行的語言,它提供了許多庫,使程序員能夠開發(fā)更強(qiáng)大的軟件,以并行運(yùn)行模型和數(shù)據(jù)轉(zhuǎn)換。
有這么一個庫,它提供了并行計(jì)算、加速了算法,甚至允許您將NumPy和pandas與XGBoost庫集成在一起。讓我們認(rèn)識一下吧。
什么是Dask
Dask是一個開源項(xiàng)目,它允許開發(fā)者與scikit-learn、pandas和NumPy合作開發(fā)他們的軟件。它是一個非常通用的工具,可以處理各種工作負(fù)載。
這個工具包括兩個重要的部分;動態(tài)任務(wù)調(diào)度和大數(shù)據(jù)收集。前面的部分與Luigi、芹菜和氣流非常相似,但它是專門為交互式計(jì)算工作負(fù)載優(yōu)化的。
后一部分包括數(shù)據(jù)幀、并行數(shù)組和擴(kuò)展到流行接口(如pandas和NumPy)的列表。
事實(shí)上,Dask的創(chuàng)建者M(jìn)atthew Rocklin先生確認(rèn)Dask最初是為了并行化Pandas和NumPy而創(chuàng)建的,盡管它現(xiàn)在提供了比一般的并行系統(tǒng)更多的好處。
Dask的數(shù)據(jù)幀非常適合用于縮放pandas工作流和啟用時(shí)間序列的應(yīng)用程序。此外,Dask陣列還為生物醫(yī)學(xué)應(yīng)用和機(jī)器學(xué)習(xí)算法提供多維數(shù)據(jù)分析。
可擴(kuò)展性
Dask如此受歡迎的原因是它使Python中的分析具有可擴(kuò)展性。
這個工具的神奇之處在于它只需要最少的代碼更改。該工具在具有1000多個核的彈性集群上運(yùn)行!此外,您可以在處理數(shù)據(jù)的同時(shí)并行運(yùn)行此代碼,這將簡化為更少的執(zhí)行時(shí)間和等待時(shí)間!
該工具完全能夠?qū)?fù)雜的計(jì)算計(jì)算調(diào)度、構(gòu)建甚至優(yōu)化為圖形。這就是為什么運(yùn)行在10tb上的公司可以選擇這個工具作為首選的原因。
Dask還允許您為數(shù)據(jù)數(shù)組構(gòu)建管道,稍后可以將其傳輸?shù)较嚓P(guān)的計(jì)算資源??傊?,這個工具不僅僅是一個并行版本的pandas。
如何工作
現(xiàn)在我們已經(jīng)理解了Dask的基本概念,讓我們看一個示例代碼來進(jìn)一步理解:
- import dask.array as da
- f = h5py.File('myfile.hdf5')
- x = da.from_array(f['/big-data'],
- chunks=(1000, 1000))
對于那些熟悉數(shù)據(jù)幀和數(shù)組的人來說,這幾乎就是你放置數(shù)據(jù)的地方。
在本例中,您已經(jīng)將數(shù)據(jù)放入了Dask版本中,您可以利用Dask提供的分發(fā)特性來運(yùn)行與使用pandas類似的功能。
為何如此流行
作為一個由PyData生成的現(xiàn)代框架,Dask由于其并行處理能力而備受關(guān)注。
在處理大量數(shù)據(jù)——尤其是比RAM大的數(shù)據(jù)塊——以便獲得有用的見解時(shí),這是非常棒的。公司受益于Dask提供的強(qiáng)大分析,因?yàn)樗趩螜C(jī)上進(jìn)行高效的并行計(jì)算。
這就是為什么Gitential、Oxlabs、DataSwot和Red Hat等跨國公司已經(jīng)在他們的日常工作系統(tǒng)中使用Dask的主要原因。總的來說,Dask之所以超級受歡迎是因?yàn)?
- 集成:Dask提供了與許多流行工具的集成,其中包括PySpark、pandas、OpenRefine和NumPy。
- 動態(tài)任務(wù)調(diào)度:它提供了動態(tài)任務(wù)調(diào)度并支持許多工作負(fù)載。
- 熟悉的API:這個工具不僅允許開發(fā)人員通過最小的代碼重寫來擴(kuò)展工作流,而且還可以很好地與這些工具甚至它們的API集成。
- 向外擴(kuò)展集群:Dask計(jì)算出如何分解大型計(jì)算并有效地將它們路由到分布式硬件上。
- 安全性:Dask支持加密,通過使用TLS/SSL認(rèn)證進(jìn)行身份驗(yàn)證。
優(yōu)缺點(diǎn)
讓我們權(quán)衡一下這方面的利弊。
使用Dask的優(yōu)點(diǎn):
- 它使用pandas提供并行計(jì)算。
- Dask提供了與pandas API類似的語法,所以它不那么難熟悉。
使用Dask的缺點(diǎn):
- 在Dask的情況下,與Spark不同,如果您希望在創(chuàng)建集群之前嘗試該工具,您將無法找到獨(dú)立模式。
- 它在Scala和R相比可擴(kuò)展性不強(qiáng)。
當(dāng)前題目:什么是Python中的Dask,它如何幫助你進(jìn)行數(shù)據(jù)分析?
網(wǎng)頁地址:http://www.dlmjj.cn/article/dhddoce.html


咨詢
建站咨詢
