国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

面向數據科學的5個Apache Spark最佳實踐

譯文
大數據 Spark
啟動項目前應了解這幾個Spark優秀實踐。雖然我們都在談論大數據,但通常在職場闖蕩一段時間后才遇到大數據。在我供職的Wix.com,有逾1.6億個用戶在生成大量數據,因此需要擴展我們的數據流程。

[[337096]]

【51CTO.com快譯】

為什么轉向Spark?

雖然我們都在談論大數據,但通常在職場闖蕩一段時間后才遇到大數據。在我供職的Wix.com,有逾1.6億個用戶在生成大量數據,因此需要擴展我們的數據流程。

雖然有其他選擇(比如Dask),但我們決定選擇Spark,原因主要有兩個:(1)它是目前的最新技術,廣泛用于大數據。(2)我們擁有Spark所需的基礎架構。

如何針對pandas人群用PySpark編寫代碼?

您可能很熟悉pandas,僅僅搞好語法可能開了個好頭,但確保PySpark項目成功還需要具備更多的條件,您要了解Spark的工作原理。

讓Spark正常工作很難,但一旦可以正常工作,它效果很棒!

Spark簡述

建議看看這篇文章,閱讀MapReduce方面的說明以便更深入的了解:《如何使用Spark處理大數據?》(https://towardsdatascience.com/the-hitchhikers-guide-to-handle-big-data-using-spark-90b9be0fe89a)。

我們在這里要了解的概念是橫向擴展。

從縱向擴展入手比較容易。如果我們有一個運行良好的pandas代碼,但后來數據對于它來說太大了,我們可能會轉移到一臺內存更多、功能更強的機器上,希望它能應付得了。這意味著我們仍有一臺機器同時在處理全部數據——這就是縱向擴展。

如果我們改而決定使用MapReduce,并將數據分成多個塊,然后讓不同的機器來處理每個塊,這就是橫向擴展。

五個Spark最佳實踐

這五個Spark最佳實踐幫助我將運行時間縮短至十分之一,并擴展項目。

1. 從小處入手——采樣數據

如果我們想讓大數據起作用,先要使用少量數據看到我們方向正確。在我的項目中,我采樣10%的數據,并確保管道正常工作,這讓我可以使用Spark UI中的SQL部分,并查看數字流經整個流程,不必等待太長的時間來運行流程。

憑我的經驗,如果您用小樣本就能達到所需的運行時間,通常可以輕松擴展。

2. 了解基礎部分:任務、分區和核心

這可能是使用Spark時要理解的最重要的一點:

1個分區用于在1個核心上運行的1個任務。

您要始終了解自己有多少分區——密切關注每個階段的任務數量,并在Spark連接中將它們與正確數量的核心進行匹配。幾個技巧和經驗法則可以幫助您做到這一點(所有這些都需要根據您的情況進行測試):

  • 任務與核心之間的比例應該是每個核心約2至4個任務。
  • 每個分區的大小應約為200MB–400MB,這取決于每個worker的內存,可根據需要來調整。

3. 調試Spark

Spark使用惰性求值,這意味著它在等到動作被調用后才執行計算指令圖。動作示例包括show()和count()等。

這樣一來,很難知道我們代碼中的bug以及需要優化的地方。我發現大有幫助的一個實踐是,使用df.cache()將代碼劃分為幾個部分,然后使用df.count()強制Spark在每個部分計算df。

現在使用Spark UI,您可以查看每個部分的計算,并找出問題所在。值得一提的是,如果不使用我們在(1)中提到的采樣就使用這種做法,可能會創建很長的運行時間,到時將很難調試。

4. 查找和解決偏度

讓我們從定義偏度開始。正如我們提到,我們的數據分到多個分區;轉換后,每個分區的大小可能隨之變化。這會導致分區之間的大小出現很大的差異,這意味著我們的數據存在偏度。

可以通過在Spark UI中查看階段方面的細節,并尋找最大數和中位數之間的顯著差異以找到偏度:

圖1. 很大的差異(中位數= 3秒,最大數= 7.5分鐘)意味著數據有偏度。

這意味著我們有幾個任務比其他任務要慢得多。

為什么這不好——這可能導致其他階段等待這幾項任務,使核心處于等待狀態而無所事事。

如果您知道偏度來自何處,可以直接解決它并更改分區。如果您不知道/或沒辦法直接解決,嘗試以下操作:

調整任務與核心之間的比例

如前所述,如果擁有的任務比核心更多,我們希望當更長的任務運行時,其他核心仍然忙于處理其他任務。盡管這是事實,但前面提到的比例(2-4:1)無法真正解決任務持續時間之間這么大的差異。我們可以試著將比例提高到10:1,看看是否有幫助,但是這種方法可能有其他缺點。

為數據加入隨機字符串(salting)

Salting是指用隨機密鑰對數據重新分區,以便可以平衡新分區。這是PySpark的代碼示例(使用通常會導致偏度的groupby):

圖2

5. Spark中迭代代碼方面的問題

這是個棘手的問題。如前所述,Spark使用惰性求值,因此運行代碼時,它僅構建計算圖(DAG)。但當您有一個迭代過程時,該方法可能會很成問題,因為DAG重新打開了先前的迭代,而且變得很大。這可能太大了,驅動程序在內存中裝不下。由于應用程序卡住了,因此很難找到問題所在,但是在Spark UI中好像沒有作業在長時間運行(確實如此),直到驅動程序最終崩潰才發現并非如此。

這是目前Spark的一個固有問題,對我來說有用的解決方法是每5-6次迭代使用df.checkpoint()/ df.localCheckpoint()(試驗一番可找到適合您的數字)。這招管用的原因是,checkpoint()打破了譜系和DAG(不像cache()),保存了結果,并從新的檢查點開始。缺點在于,如果發生了什么岔子,您就沒有整個DAG來重新創建df。

原文標題:5 Apache Spark Best Practices For Data Science,作者:Zion Badash

【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】

 

責任編輯:華軒 來源: 51CTO
相關推薦

2022-06-01 13:52:11

開源大數據

2021-07-20 15:37:37

數據開發大數據Spark

2018-05-02 13:59:01

大數據數據收集數據科學

2017-11-01 14:45:51

數據管理數據

2016-08-22 15:15:14

數據實踐

2016-10-12 09:41:45

Hadoop+Spar大數據開發

2012-03-29 09:18:47

HTML5WEB

2010-12-02 10:30:09

Apache Hado反模式Map Reduce

2014-09-19 10:54:47

用戶體驗單頁面

2011-12-21 09:38:31

HTML 5

2019-02-26 11:35:16

數據科學云端遷移

2013-01-16 14:45:47

HadoopApache Hado

2020-07-22 10:30:54

數據可視化分析平臺分析工具

2017-07-11 09:59:22

Apache Spar技術數據

2017-03-30 22:16:21

DevOpsIT應用程序

2020-06-10 09:57:23

Kubernetes日志容器

2010-10-28 09:05:42

SilverlightXAML

2018-01-24 11:46:57

2025-09-05 07:28:34

2012-02-07 09:17:13

點贊
收藏

51CTO技術棧公眾號

三级成人在线视频| 亚洲区免费影片| 欧美牲交a欧美牲交aⅴ免费下载| 国产视频欧美| 92看片淫黄大片欧美看国产片| 日韩精品一区二区三区中文在线 | 一区二区久久久久| 国产亚洲综合视频| 国产麻豆精品久久一二三| 快播日韩欧美| 在线视频观看日韩| 成人午夜电影在线播放| 久久精品青草| 3d动漫啪啪精品一区二区免费| 国产亚洲欧美日韩在线观看一区二区 | 可以免费看的黄色网址| 日日夜夜免费精品| 国产精品免费在线| 在线播放日韩| 国产视频一区二区不卡| 亚洲免费成人| 欧美在线播放一区| 美女一区二区久久| 好色先生视频污| 99免费精品视频| 国产一线二线三线在线观看| 中文在线一区二区| 免费男女羞羞的视频网站主页在线观看 | 在线免费观看的av网站| 欧美日韩黄色影视| 国产黄a三级三级三级av在线看| 欧美日韩视频不卡| 韩国日本一区| 色婷婷av一区二区三区在线观看| 成人不卡视频| 欧美成人网在线| 欧美理论视频| 51成人做爰www免费看网站| 一区在线观看| 日本桃色视频| 精品电影在线观看| 影音先锋成人资源网站| 欧美日韩免费在线观看| 四虎成人在线视频| av电影天堂一区二区在线| 国产一区免费| 91精品国产福利在线观看| 麻豆传媒在线观看| 能在线看的av| 最近97中文超碰在线| 一个色在线综合| 色综合久久中文综合久久97| 色网站免费在线观看| 亚洲精品永久免费| 哺乳挤奶一区二区三区免费看| 国产精品福利无圣光在线一区| 一区视频在线看| 国产一线二线三线女| 亚洲免费伊人电影| 黄色成年人视频在线观看| 最新国产精品亚洲| 欧美91大片| 日韩欧美一区二| 91久久精品国产91性色tv| 78精品国产综合久久香蕉| 国产精品吹潮在线观看| 蜜桃视频第一区免费观看| 日本超碰在线观看| 制服丝袜国产精品| 久久久精品国产**网站| 日韩av一区二区三区在线观看 | av在线电影播放| 久久精品国产亚洲7777| 在线成人激情| 免费在线观看毛片网站| 欧美日韩高清影院| 欧美日韩一区二区三区在线电影 | 亚洲美女久久久| 色97色成人| 日韩欧美亚洲天堂| 日韩一区二区免费高清| 国产一卡不卡| www黄色日本| 亚洲高清久久久久久| 久久人人88| 亚洲国产精品久久久久婷蜜芽| 欧美日韩一卡二卡| 国产精品一区二区三区av麻 | 久久久久久欧美| 蜜桃视频免费观看一区| 黄色片在线免费看| 欧美黑人巨大精品一区二区| 免费成人在线网站| 黄色av网站在线免费观看| 久久久免费高清电视剧观看| 国产毛片精品一区| 成人在线app| 91中文字幕在线观看| 国产欧美一区二区三区在线看蜜臀 | 日韩电影在线观看网站| 在线观看一级片| 久久全国免费视频| 成人av网站免费观看| 亚洲无线看天堂av| 国产精品久久国产精品| 亚洲精品国产一区二区精华液| 激情亚洲影院在线观看| 亚洲va韩国va欧美va精四季| 欧美丝袜一区二区| 欧美一区2区| 男女午夜网站| 色中色综合影院手机版在线观看| 狠狠色综合色综合网络| 欧美1234区| 欧美久久电影| 91超碰这里只有精品国产| 欧美久久一区| 国产三级在线免费| 91手机在线播放| 色妞www精品视频| 亚洲在线久久| 蜜桃视频在线观看网站| 91久久精品国产91久久性色tv| 亚洲一区二区三区在线| 美日韩中文字幕| bdsm在线观看播放视频| 欧美一级电影免费在线观看| 国产精品网站导航| 国产精品视频3p| a√免费观看在线网址www| 琪琪亚洲精品午夜在线| 亚洲一区二区av电影| 99久久婷婷| 91在线视频免费看| 免费影院在线观看一区| 亚洲国产精久久久久久| 黄色精品一二区| 日本成人在线网站| 亚洲视频在线a| 日本精品在线视频| 午夜精品福利一区二区三区av| 一区二区三区在线| 91大神xh98hx在线播放| 日本不卡二区高清三区| 亚洲经典中文字幕| 国产成人一级电影| 影音先锋欧美激情| 性生大片免费观看性| 亚洲一区二区久久久久久久| 欧洲在线/亚洲| 蜜臀av性久久久久蜜臀aⅴ| av高清不卡| av丝袜天堂网| 成人写真福利网| 欧美一区二区视频在线观看| 激情综合亚洲精品| 亚洲专区**| 日本啊v在线| 正在播放久久| 97在线视频国产| 91黄色免费版| 国产美女久久久久| 一区二区三区视频免费观看| jizz在线免费观看| 久久久久久久香蕉| 国产福利视频一区| 日韩精品在线看片z| 99国产一区二区三精品乱码| 亚洲春色h网| 国产三区在线观看| 日本免费黄视频| 99久久精品免费看国产四区 | proumb性欧美在线观看| 日韩mv欧美mv国产网站| 番号在线播放| 隔壁人妻偷人bd中字| 欧美一级淫片丝袜脚交| 91精品久久久久久久久99蜜臂 | 肉大捧一出免费观看网站在线播放| 欧美巨猛xxxx猛交黑人97人| 欧美日韩一区二区免费在线观看| 久久精品99国产精品日本| 欧美三级午夜理伦三级在线观看 | 成人国产精品一区二区免费麻豆| caoporen人人| 污视频在线免费观看一区二区三区| 久久艳片www.17c.com | 写真片福利在线播放| 亚洲精品自在在线观看| 热99久久精品| 亚洲人成77777在线观看网| 午夜精品在线看| 粉嫩av一区二区三区| 狠狠入ady亚洲精品| 91精品啪在线观看国产手机| 免费在线观看av网站| av网站在线不卡| 黄频视频在线观看| 666精品在线| 久久乐国产精品|