【小(xiǎo)編推薦】Dropbox邵铮:我怎麽看‍&™≈(kàn)Hadoop Summit 2015和←∑≈(hé)Spark Summit 2015?

2015-07-02   γπ♣;|   發布者:梁國(guó)芳&n♠←<↑bsp;  | &₽λnbsp; 查看(kàn):3320次

IT新聞
 Dropbox研發經理(lǐ)邵铮,是(shì)我們2014中國(guó)大(dà)數(shù)據技(jì)術(sh✘∑ù)大(dà)會(huì)的(de)程序主席。近(jìn)期美(měi€∏ε)國(guó)有(yǒu)兩場(chǎng)重要(yào)的(de)技(j​‍'☆ì)術(shù)會(huì)議(yì)。Hadoop Summit 2015 和(hé) S₽​★park Summit 2015,中國(guó)技(jì)術(shù)圈都(dōu)有(yǒu)組>>團參加。我們在7A程序員(yuán)電(diàn)子(zǐ)刊中都(dōu)有αεε→(yǒu)相(xiàng)應的(de)觀察稿件(jiàn)。但(dà‌≈★ n)同時(shí)參加兩場(chǎng)會(huì)議(yì)的(₽®¶de),知(zhī)之甚少(shǎo)。昨天討(tǎo)論Spark£♣峰會(huì)和(hé)Docker峰會(huì)的(de)對(duì)比時(₩®‌shí),還(hái)在思考。看(kàn)來(lái)有(yǒ↕​‍u)共同問(wèn)題的(de)朋(péng)友('±←yǒu)還(hái)有(yǒu)很(hěn)多(duō),剛看(kàn)到©©(dào)知(zhī)乎上(shàng)的(de)一(yī)ε±≈個(gè)帖子(zǐ):

 

 

 

 

怎麽看(kàn)Hadoop Summit 2015 and Spar♣↕'♦k Summit 2015?
首先,IBM 要(yào)在spark 上(shàn≠<§g)面拼了(le),據說(shuō)要(yào →)全公司參與到(dào)spark裡(lǐ)面,因為(wèi)spa®π rk還(hái)在初創階段,所以早參入必然好( σ∞hǎo)處多(duō)。其他(tā)幾個(gè★♦)大(dà)公司比如(rú)google,ms是(shì)怎γ✘÷₽麽看(kàn)的(de)?
Schedule 裡(lǐ)有(yǒu)不(bù)少(shǎo)有(yǒ±₹∏¥u)意思的(de)topic,大(dà)家(jiā)覺得(de)₩ 那(nà)些(xiē)比較有(yǒu)意思的(de)?
因為(wèi)hadoop summit 上(s₽™δ>hàng)周也(yě)在san jose 開(kāi)了(le αΩ),所以合并為(wèi)一(yī)個(gè)問(wèn)題吧•₩↓♠(ba)。

 

 

 

Dropbox研發經理(lǐ)邵铮的(de)觀點非常值得(de)品味。✘↑

 


 

我參加了(le)今年(nián)的(de)這(zhè)兩個(gè> ₽¥)大(dà)會(huì)。我來(lái)說(shuō)一<∑±♣(yī)說(shuō)我個(gè)人(rén)的(de)感受吧(baφ )。

首先,IBM(如(rú)樓主所說(shuō)的(de))宣稱在Spark上(s↑  hàng)拼了(le),隻是(shì)因為(wèi)IBM在Bigγ♦✘• Data領域的(de)發展太慢(màn)(相(xiàn≥≠'g)對(duì)互聯網企業(yè)而言),所以想乘上(shàngφ•≤±)Spark這(zhè)班快(kuài)車(c€₹'hē),趕超過去(qù)。這(zhè)到(dào)底對(duα♦βì)IBM公司有(yǒu)多(duō)大(dà)幫助,我不(b☆¶>ù)是(shì)非常的(de)樂(yuè)觀。而©£×其它幾家(jiā)大(dà)公司早有(yǒu)類似的(d​₩₽e)技(jì)術(shù)布局,所以沒有✘©₹♦(yǒu)必要(yào)像IBM宣稱的(≤‌de)那(nà)樣孤注一(yī)擲。

下(xià)面是(shì)詳細的(de)感受。

會(huì)議(yì)資料

Hadoop Summit 2015: 日(rì)程錄像PPT
Spark Summit 2015: 日(rì)程(含錄像與PPT), 完整錄像(Track ATrack BTrack C

 

會(huì)議(yì)規模

大(dà)數(shù)據的(de)社區(qū)規模在不(bù)斷的(♠♣de)擴大(dà)。今年(nián)的(≠←→de)兩個(gè)會(huì)議(yì)的(de)參會(huì)人(∞₩✔rén)數(shù)都(dōu)創了(le)新高(gāo)。Hadoo→≠ p Summit 2015的(de)參會(huì)人(rén)數(shù)是(sπ∑÷hì)4000,同比增長(cháng)30%(2014:3100,2013:2βΩ​ 600,2012:2100,2011:1∏•☆600,2010:1200)。Spark Summit 2015的(de)參會(huì)人(★α‍rén)數(shù)是(shì)2000,同比增長(cháng)30₽ 0%(2014:500)。可(kě)以看(kàn)出,Hadoop Sum✘ mit的(de)參會(huì)人(rén)數(shù)還(hái✘§‍₹)在加速增長(cháng),但(dàn)是(shì)增長(♠↑✔cháng)速度遠(yuǎn)遠(yuǎn)不(bù)及Spark S¥≈✘ummit。值得(de)一(yī)提的(de)是(±δ★shì)這(zhè)兩個(gè)會(huì)議(yì)的(de±‍)門(mén)票(piào)都(dōu)要" (yào)上(shàng)千美(měi)金(jα♥&īn),所以這(zhè)麽多(duō)的(de)參會(huì)人↑±(rén)數(shù)很(hěn)好(hǎo)的(de)反映出了(le)目前£♣↓大(dà)數(shù)據的(de)熱(rè)門(m≥ ☆★én)程度。另外(wài),兩個(gè)大(dà)會α∏(huì)上(shàng)有(yǒu)很(h<π÷ěn)多(duō)不(bù)同行(xíng)業(yè)的(de)公司現(x©×iàn)身(shēn)說(shuō)法,講述Hadoop'•λ÷/Spark技(jì)術(shù)的(de)應用(yòng),可(k​Ω↔ě)以說(shuō)大(dà)數(shù)據已經在很(hěn)多(duō)♠☆★行(xíng)業(yè)落地(dì)生(shēng)根了(le)φ¥§✘。

關于為(wèi)什(shén)麽Spark的(de)發展速度比Hadooσ↓p更快(kuài),我認為(wèi)有(yǒu)以下(xià)¶∞幾點原因:

1. Spark非常容易使用(yòng)。Spark Notebook,Spark與Java/Scala/Python/R的(de)•↓γλ互操作(zuò)性都(dōu)做(zuò)得("‌>de)非常好(hǎo)。而Hadoop的(de)早期用(yòng)戶₩©✘Ω和(hé)社區(qū)的(de)主要(yàoγ‌≤)貢獻者都(dōu)來(lái)自(zì)于大(dà)公司,服務于資深"♣用(yòng)戶。資深用(yòng)戶更關注功能(néng)是(shì)•©否完善、系統是(shì)否穩定,而易用(yòng)₽÷₩>性就(jiù)不(bù)是(shì)主要(yào)的(de)考慮因素♦>•↔。

2. Spark是(shì)為(wèi)交互式使用(yòng)設計(₽'​≠jì)的(de)。這(zhè)體(tǐ)現(xiàn)在聚焦于規模較小£β→(xiǎo)的(de)數(shù)據處理♣←(lǐ)應用(yòng),因而使用(yòng)內(nèi)存來(lái&‍♥&)加速變得(de)非常重要(yào)。這(‍&zhè)也(yě)體(tǐ)現(xiàn★§)在剔除很(hěn)多(duō)不(bù)必要(yà↑↕"o)的(de)開(kāi)銷,例如(rú)JVM啓動時(✘∞↕shí)間(jiān)、polling/heartbeat interv✔∏αΩal、用(yòng)來(lái)防止出現(xiàn)ε£ "Self-DDOS的(de)sleep/waiφαβt。而Hadoop社區(qū)的(de)決定 ± ₽者很(hěn)多(duō)都(dōu)是(shì)¶♦大(dà)公司。在那(nà)裡(lǐ),超大(dà)≥♣規模的(de)數(shù)據計(jì)算(suàn)是(shì)最重要(y$÷ ào)的(de),而幾秒(miǎo)鐘(zh∏₽↔ōng)的(de)啓動時(shí)間(jiā≥☆ n)和(hé)等待都(dōu)是(shì)無關緊要(yφ¥ào)的(de)。

3. Spark的(de)Committer非常注重發展外(‌ wài)部的(de)代碼貢獻者。一(yī)開(kāi)始,輔導外(wài)部的(de)≤∞✔代碼貢獻者來(lái)提交patch可( ₽$→kě)能(néng)比Committer自(zì)己寫code提交patc↓∑ ∞h更慢(màn),但(dàn)是(shì)輔導外(wà$σ✔i)部的(de)代碼貢獻者是(shì)一(yī)個(gεδ≈βè)很(hěn)好(hǎo)的(de)投資,可(kě)以有(yǒu)長(π™"cháng)期的(de)回報(bào)。顯然,這(zhè)個(gè)策略∞♦>∞在Spark身(shēn)上(shàng)非常奏效。

相(xiàng)對(duì)來(lái)說(shu™←ō),Spark的(de)技(jì)術(shù)比較新,所以運維€ λ穩定性、調試等方面不(bù)及Hadoop的(de)相(xiββ☆πàng)關技(jì)術(shù)。今年(nián)Berkβεeley AMPLAB就(jiù)專門(mé§±♥n)在USENIX NSDI 2015上(shàng)發表了λ'π(le)一(yī)篇文(wén)章(zh≈σāng) Making Sense of Perfoγδ• rmance in Data Analytics Fra☆‌meworks 來(lái)講述如(rú)何調§>¥試Spark的(de)性能(néng)問(wèn)題​±。

趨勢

1. Hadoop技(jì)術(shù)進一(yī)步的(de)成'§熟。Hadoop最近(jìn)的(de)比較大(dàε$÷)的(de)進步都(dōu)是(shì)在運維穩定性和(hé)性能(néng✔™δ÷)上(shàng)的(de),例如(rú)HA(High Aα  vailablility)for YARN ×'↓ResourceManager,Roll↕☆ ing Upgrades,Erasure Coding Support inside HDFS 等等。 相(xiàng)對(duì)來(lái)說(shuō),∑↔<≈用(yòng)戶可(kě)用(yòng)的(d§♦♦¶e)新功能(néng)較少(shǎo)。

2. Spark在Machine Learning∏Ωγγ和(hé)Data Science/Statistics用(yòng★∞↓↑)戶中的(de)普及非常快(kuài)。Spark Notebook,MLLib,☆©SparkR 是(shì)Spark的(de)幾個(g≥>è)殺手級的(de)産品。SparkSQL中的(de)DataFrame也(•λyě)是(shì)一(yī)個(gè)非常有(yǒu)效的(≤​de)功能(néng),但(dàn)Spa≤‌rkSQL在Data Warehouse領域(如(rú)E™✘σTL,BI等)的(de)前景還(hái)有(y↓λ<ǒu)待進一(yī)步的(de)觀察,因為(wèi)Sp>♣₽♣arkSQL畢竟是(shì)後來(lái←δ)者。

3. Spark和(hé)Hadoop的(de)生(shēngε₩")态系統在融合。這(zhè)點可(kě)以參見(jiàn)Hadoop & Spark, PerfΩ₩§€ect Together。Hadoop和(hé)Spark各自(zì)都(dōu)有(yǒ<‍u)很(hěn)多(duō)子(zǐ)項目。對✘​★α(duì)于一(yī)個(gè)大(dà)數(sh∞→∞​ù)據的(de)高(gāo)級用(yònδ↓★g)戶來(lái)說(shuō),他(tā≠δ♥)/她(tā)所做(zuò)的(de)決定一(yī)定不(bù)是(s'•<hì)”我到(dào)底用(yòng)Hadoop還(há£β✔♥i)是(shì)Spark“,而是(shì)"我<δ$到(dào)底用(yòng)Hadoop的(de)哪些(™$xiē)組件(jiàn)和(hé)Spark的(de)哪些(xiē↓×)組件(jiàn)"。所以,對(duì)Hadoop和(hé)₹↔α↑Spark的(de)各個(gè)子(zǐ)項目的(de)了(le)解≤ ♠變得(de)非常重要(yào)。

我最關注的(de)技(jì)術(shù)

1. YARN。YARN是(shì)Hadoop 2的(de)計(jì)算(suà>•✘n)資源管理(lǐ)調度系統,可(kě)以說(shuō)YARN是 §(shì)Hadoop 1和(hé)Hadoop 2的(de)最主要∏→​£(yào)的(de)區(qū)别。YARN從(cóng)αε2010年(nián)開(kāi)始開(kāi)發,2013年(•₩<nián)10月(yuè)發布第一(yī)版,到(dào)現(xi™±àn)在已經有(yǒu)5年(nián)曆史,所以'‌技(jì)術(shù)也(yě)相(xiàn₽↑​≠g)對(duì)成熟了(le),可(kě)以在¶→β↓生(shēng)産環境中穩定的(de)使用(yòng)。目前Dropb<≠ox的(de)Hadoop機(jī)群就(ji✘ ù)在遷移到(dào)YARN的(de)過程當中。

感興趣的(de)同學建議(yì)先讀(dú)一(yī)讀(d≠©&ú) Hadoop YARN的(de)Blog。然後重點關注這(zhè)些(xiē)新功能(néng):Ro♥☆↓→lling upgrades,Support for LoΩβ•σng-running services (HBase, St÷β÷δorm, Kafka), support for "↓ Docker containers。将來(láφ↑i)YARN會(huì)有(yǒu)更多(duō)的(de)監☆∞​測和(hé)調試功能(néng)(如(rú)Timeline server N₽$↑ext Generation),也(yě)值得(de)關注。

2. Hive與Stinger。Stinger是(shì)2013-2014年(nián)Hive上(shàn↑÷g)最大(dà)的(de)改進, 号稱要(yào)把Hive的(de)效率提Ω'↓&高(gāo)100倍。 到(dào)今年(nián)這(zhè)項技(jì)術(shù)ε★←λ已經比較成熟,可(kě)以在生(shēng)産環境中比較穩定的(♦✔∑☆de)使用(yòng)了(le)。StingeΩ™₹¶r包含三大(dà)方面的(de)改進:ORγ®★♠CFile(優化(huà)列存儲),Ve‍​®εctorized Execution(向量計(jì)算(s★ ≤<uàn)),Tez(非Map-Reduce的(de)DAG執行(xíngφ• •)系統) 。這(zhè)是(shì)Dropbox的(de)$♦ ←Hadoop機(jī)群下(xià)一(yī)步的(de)∑€←↑升級目标。

3. SparkR 我之前學過一(yī)些(xiē)統計(jì)的(↕ ₹de)課程,很(hěn)喜歡R語言在數(shù)據處理(lǐ)方面的(de♠₩)優勢。SparkR把Spark和(hé)R結合在一(yī)起,對(du✔× ì)于學習(xí)統計(jì)的(de)同學來(lái)說(♠§₹shuō),會(huì)有(yǒu)非常大(dà)的‍>≤(de)幫助。我猜想以後很(hěn)多(duō)大™∏→(dà)數(shù)據方面的(de)高(gāo)級應用(yòng)(風(fλ↑★€ēng)控建模之類的(de))會(huì)使用(yòng)SparkR。♣₹↔

4. Project TungstenTungsten會(huì)給Spark的(de)性能←≠(néng)帶來(lái)非常大(dà)的(de)提>↕✘±升。主要(yào)的(de)技(jì)術(shù)點有(yǒu ‌•):使用(yòng)Off-Heap Storage并去(qù)除Java δ±€≤Object的(de)overhead,Cache-aware Comp ≥★↕utation,與Code Generaδβ↑®tion。這(zhè)個(gè)項目還(hái)在開(kāi)發的×↕©(de)過程中,有(yǒu)興趣的(de)同學可(kě)以參與進去(qù)

建議(yì)

1. 初學者與大(dà)數(shù)據應用('∞'yòng)愛(ài)好(hǎo)者:建議(yì)從(cóng)2014年(nián)的(∏★de) Databricks Cloud Dem∞€o 開(kāi)始,去(qù)Databricks Cloud注冊用(yòng)戶(點擊右上(shàng)α™角"Sign Up for Databricks" ∑↑γ;),做(zuò)一(yī)些(xiē)練習(x♥↓δ€í),掌握大(dà)數(shù)據處理(lǐ)的(de)基本流程。

2. 大(dà)數(shù)據底層技(jì)術(shù♥σ)開(kāi)發者:建議(yì)關注Project Tungsten并且參與進去(qù)

3. 大(dà)數(shù)據高(gāo)®®¥級用(yòng)戶:建議(yì)多(duō)多(duō)關注各大(dà)公∞≠♥司使用(yòng)這(zhè)些(xiē)技(jì)術(shù)€≤的(de)經驗總結,例如(rú)Letter from the Trenches: An ins✔♠←‌ide look at Hive at Yahoo 。如(rú)果還(hái)沒有(yǒu)在生(shēng)産•♣∏♣環境中使用(yòng)YARN與Hive Sting♣☆∞•er,建議(yì)開(kāi)始考慮升級。