自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

一行代碼,Pandas秒變分布式,快速處理TB級(jí)數(shù)據(jù)

大數(shù)據(jù) 分布式
剛剛在Pandas上為十幾KB的數(shù)據(jù)做好了測(cè)試寫(xiě)好了處理腳本,上百TB的同類(lèi)大型數(shù)據(jù)集擺到了面前。這時(shí)候,你可能面臨著一個(gè)兩難的選擇:繼續(xù)用Pandas?可能會(huì)相當(dāng)慢,上百TB數(shù)據(jù)不是它的菜。

剛剛在Pandas上為十幾KB的數(shù)據(jù)做好了測(cè)試寫(xiě)好了處理腳本,上百TB的同類(lèi)大型數(shù)據(jù)集擺到了面前。這時(shí)候,你可能面臨著一個(gè)兩難的選擇:

  • 繼續(xù)用Pandas?可能會(huì)相當(dāng)慢,上百TB數(shù)據(jù)不是它的菜。

(ಥ_ಥ) 然而,Spark啊分布式啊什么的,學(xué)習(xí)曲線(xiàn)好陡峭哦~在Pandas里寫(xiě)的處理腳本都作廢了好桑心哦~

別灰心,你可能真的不需要Spark了。

加州大學(xué)伯克利分校RiseLab最近在研究的Pandas on Ray,就是為了讓Pandas運(yùn)行得更快,能搞定TB級(jí)數(shù)據(jù)而生的。這個(gè)DataFrame庫(kù)想要滿(mǎn)足現(xiàn)有Pandas用戶(hù)不換API,就提升性能、速度、可擴(kuò)展性的需求。

研究團(tuán)隊(duì)說(shuō),只需要替換一行代碼,8核機(jī)器上的Pandas查詢(xún)速度就可以提高4倍。

其實(shí)也就是用一個(gè)API替換了Pandas中的部分函數(shù),這個(gè)API基于Ray運(yùn)行。Ray是伯克利年初推出的分布式AI框架,能用幾行代碼,將家用電腦上的原型算法轉(zhuǎn)換成適合大規(guī)模部署的分布式計(jì)算應(yīng)用。

Pandas on Ray的性能雖說(shuō)比不上另一個(gè)分布式DataFrame庫(kù)Dask,但更容易上手,用起來(lái)和Pandas幾乎沒(méi)有差別。用戶(hù)不需要懂分布式計(jì)算,也不用學(xué)一個(gè)新的API。

與Dask不同的是,Ray使用了Apache Arrow里的共享內(nèi)存對(duì)象存儲(chǔ),不需要對(duì)數(shù)據(jù)進(jìn)行序列化和復(fù)制,就能跨進(jìn)程通訊。

 

在8核32G內(nèi)存的AWS m5.2xlarge實(shí)例上,Ray、Dask和Pandas讀取csv的性能對(duì)比

它將Pandas包裹起來(lái)并透明地把數(shù)據(jù)和計(jì)算分布出去。用戶(hù)不需要知道他們的系統(tǒng)或者集群有多少核,也不用指定如何分配數(shù)據(jù),可以繼續(xù)用之前的Pandas notebook。

前面說(shuō)過(guò),使用Pandas on Ray需要替換一行代碼,其實(shí)就是換掉導(dǎo)入語(yǔ)句。

 

  1. # import pandas as pd 
  2. import ray.dataframe as pd 

這時(shí)候你應(yīng)該看到:

 

初始化完成,Ray自動(dòng)識(shí)別了你機(jī)器上可用的核心,接下來(lái)的用法,就和Pandas一樣了。

Pandas on Ray目前還處于早期,實(shí)現(xiàn)了Pandas的一部分功能。以一個(gè)股票波動(dòng)的數(shù)據(jù)集為例,它所支持的Pandas功能包括檢查數(shù)據(jù)、查詢(xún)上漲的天數(shù)、按日期索引、按日期查詢(xún)、查詢(xún)股票上漲的所有日期等等。

這個(gè)項(xiàng)目的最終目標(biāo)是在Ray上完整實(shí)現(xiàn)Pandas API的功能,讓用戶(hù)可以在云上用Pandas。

目前,伯克利RiseLab的研究員們已經(jīng)用45天時(shí)間,實(shí)現(xiàn)了Pandas DataFrame API的25%。

 

[[221787]]

革命尚未成功,項(xiàng)目仍在繼續(xù)。這些人都在為之努力:

Devin Petersohn, Robert Nishihara, Philipp Moritz, Simon Mo, Kunal Gosar, Helen Che, Harikaran Subbaraj, Peter Veerman, Rohan Singh, Joseph Gonzalez, Ion Stoica, Anthony Joseph

  • 更深入地了解Pandas on Ray請(qǐng)看RiseLab博客原文:https://rise.cs.berkeley.edu/blog/pandas-on-ray/
  • 試用Pandas on Ray請(qǐng)參考這個(gè)文檔:https://rise.cs.berkeley.edu/blog/pandas-on-ray/
  • 給Ray團(tuán)隊(duì)提要求請(qǐng)到GitHub開(kāi)issue:https://github.com/ray-project/ray/issues
  • 如果對(duì)Ray感興趣,可以讀一讀他們的論文:https://arxiv.org/abs/1712.05889
責(zé)任編輯:未麗燕 來(lái)源: 量子位
相關(guān)推薦

2020-02-19 15:02:23

代碼開(kāi)發(fā)工具

2019-11-26 09:47:50

代碼開(kāi)發(fā)工具

2019-12-25 14:08:50

Pandas數(shù)據(jù)計(jì)算

2020-08-19 10:30:25

代碼Python多線(xiàn)程

2020-05-15 09:32:50

TB數(shù)據(jù)Elasticsear

2015-08-03 09:15:00

300行代碼分布式系統(tǒng)

2016-12-02 08:53:18

Python一行代碼

2022-06-17 09:21:53

Pandas代碼透視表

2011-12-22 09:21:04

云計(jì)算Hadoop大數(shù)據(jù)

2022-03-01 08:40:34

StormHadoop批處理

2015-06-30 12:49:27

HBaseNoSQL分布式

2018-05-10 10:53:47

分布式架構(gòu)負(fù)載均衡Web

2017-04-05 11:10:23

Javascript代碼前端

2014-02-12 13:43:50

代碼并行任務(wù)

2022-04-09 09:11:33

Python

2021-07-05 09:28:11

Flink分布式程序

2024-11-28 10:56:55

2019-10-10 09:16:34

Zookeeper架構(gòu)分布式

2021-08-23 17:49:02

代碼開(kāi)發(fā)模型

2021-11-08 10:52:02

數(shù)據(jù)庫(kù)分布式技術(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)