中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

Spark 誕生頭十年:Hadoop 由盛轉(zhuǎn)衰,統(tǒng)一數(shù)據(jù)分析大行其道

2020-12-04    來源:raincent

容器云強勢上線!快速搭建集群,上萬Linux鏡像隨意使用

作者:蔡芳芳 來源:InfoQ

2009 年,Spark 誕生于計算機系統(tǒng)的學術(shù)圣地加州大學伯克利分校的 AMP Lab,最初是一個研究項目,后來于 2010 年正式開源,并在 2013 年貢獻給 Apache 基金會,翌年即畢業(yè)成為 Apache 基金會頂級項目。對于一個具有相當技術(shù)門檻與復雜度的平臺,Spark 從誕生到正式版本成熟,整個過程僅僅花了五年時間。誕生之初,Spark 就致力于提供基于 RDD/DataFrame 的一體化解決方案,將批處理、流處理、SQL、機器學習、圖處理等模型統(tǒng)一到一個平臺下,并以一致的 API 公開,使得 Spark 在誕生后的十年間得以應用于更加廣泛的工程領(lǐng)域,快速成長為大數(shù)據(jù)處理引擎中的佼佼者。

2019 年是 Spark 誕生的第十個年頭,Spark 引擎自身以及它孵化出來的 Spark 生態(tài)都在不斷迭代和演進。近日Databricks 軟件工程師李元健與我們分享了根植于 Spark 各個發(fā)展階段的統(tǒng)一數(shù)據(jù)分析理念、Spark 社區(qū)接下來工作的重點,以及大數(shù)據(jù)領(lǐng)域需要關(guān)注的變化和趨勢,以下為采訪問答實錄。

問:李元健老師您好,非常高興這次能夠在 AICon 現(xiàn)場采訪到您。您這次準備的演講主題是《Databricks 在構(gòu)建統(tǒng)一數(shù)據(jù)分析平臺上的新一輪實踐》,能否先跟我們解釋一下,何為“統(tǒng)一數(shù)據(jù)分析平臺”?其中的“統(tǒng)一”包含哪幾個層面的含義?

李元。航y(tǒng)一的數(shù)據(jù)分析平臺其實是各大互聯(lián)網(wǎng)公司和軟件公司始終奉行的一套設(shè)計準則,不僅植根于 Databricks,我們期望用統(tǒng)一的一套平臺解決方案來滿足多種場景需求甚至跨場景需求。這個“統(tǒng)一”不僅僅是技術(shù)層面的 API、底層抽象的統(tǒng)一,更是某種程度上的上層使用者協(xié)作方式的統(tǒng)一。Spark 就是用統(tǒng)一的 RDD/DataFrame API 來配合現(xiàn)有的 Hadoop 生態(tài),構(gòu)造出來這樣一套系統(tǒng),可以適用于多種環(huán)境,讓使用者和學習者可以用一套系統(tǒng)完成多樣的任務(wù),不需要跨領(lǐng)域?qū)W習。

這需要在底層有一個完全統(tǒng)一的抽象,只有在抽象的時候就考慮得足夠深,才可能在后續(xù)把各種各樣的場景完整地串在一起,打破邊界,做出全局的優(yōu)化。但是這個抽象也不能太過,比如做成像 MapReduce 那樣最簡單的抽象,那上層實現(xiàn)需要做的東西會很多。這中間的難點就是要把握好抽象的度,能讓它籠罩的面足夠大,同時也要足夠小。

在 Spark 誕生之初, Hadoop 作為當時的大數(shù)據(jù)主流生態(tài),涌現(xiàn)了各種相關(guān)的項目:用于批處理的 MapReduce、Pig 和 Hive,用于流處理的 Storm,用于機器學習的 mahout,用于 ETL 的 sqoop。這些產(chǎn)品由不同團隊、組織開發(fā),API 設(shè)計理念各不相同,使用復雜、集成困難、學習門檻陡、維護成本高。隨著 Spark 倡導的統(tǒng)一數(shù)據(jù)分析理念的發(fā)展,Hadoop 各個項目由盛轉(zhuǎn)衰,逐漸被 Spark 的對應項目取而代之。我們相信,無論大數(shù)據(jù)還是小數(shù)據(jù),無論公有云還是私有云,無論批處理還是流處理,無論數(shù)據(jù)查詢還是數(shù)據(jù)分析,數(shù)據(jù)分析行業(yè)未來將由單一的統(tǒng)一分析引擎主導,并應用于不同的平臺解決各式各樣的問題

問:為什么需要在上面提到的這幾個層面上達成“統(tǒng)一”?

李元。航y(tǒng)一意味著打破多系統(tǒng)邊界,數(shù)據(jù)計算的執(zhí)行計劃將會全局優(yōu)化,提升了總體的性能,數(shù)據(jù)不再來回從各系統(tǒng)中搬來搬去,極大降低數(shù)據(jù)治理、架構(gòu)設(shè)計及運維成本。與此同時,統(tǒng)一也打破了團隊之間的邊界,大幅提高了協(xié)作的效率,跨領(lǐng)域的用戶可以在一套系統(tǒng)之下協(xié)作完成各項工作。從每個參與者角度來看,統(tǒng)一更意味著學習成本和協(xié)作成本的降低。

問:這樣一個統(tǒng)一的數(shù)據(jù)分析平臺對于大數(shù)據(jù)領(lǐng)域來說有什么樣的意義?如果業(yè)內(nèi)不只 Databricks 在做統(tǒng)一數(shù)據(jù)分析平臺,其他公司可能也想做自己的統(tǒng)一平臺,那最后怎么真正做出一個能打通所有系統(tǒng)的平臺呢?

李元。航y(tǒng)一的數(shù)據(jù)分析平臺對降低數(shù)據(jù)處理成本、加速數(shù)據(jù)迭代、提升數(shù)據(jù)價值都有極大的促進作用。Databricks 在業(yè)界首先提出統(tǒng)一數(shù)據(jù)分析平臺的理念,并將這一理念在過去若干年付諸于實踐,熔鑄于 Databricks 產(chǎn)品及參與、主導的開源項目中去。所以我們今日已經(jīng)可以看到統(tǒng)一數(shù)據(jù)分析的概念已經(jīng)逐漸被市場與友商所接受。

接上述回答,其他公司也想做自己的統(tǒng)一平臺恰恰也是市場認可的一部分,因為模仿是最好的贊賞,Databricks 也一直持開放的態(tài)度歡迎各方的合作與競爭,相信在百花齊放的前提下,市場會篩選出事實標準。

問:Databricks 在很多公開場合多次強調(diào)過“統(tǒng)一數(shù)據(jù)分析平臺”的概念,這一點在你們當前的技術(shù)架構(gòu)和主導的開源項目中有哪些體現(xiàn)?

李元。菏桩斊錄_的開源體現(xiàn)是 Apache Spark,Spark 可以說是業(yè)界首個達成統(tǒng)一數(shù)據(jù)分析能力的數(shù)據(jù)分析平臺,對上,支持交互式查詢、批處理、流處理、機器學習、圖計算等使用場景;對下,支持基本上你能見到的所有數(shù)據(jù)格式類型,包括 Parquet、Text、Json、ORC 等,同時所有數(shù)據(jù)源類型,包括流式的 kinesis、Kafka 等 Spark 都能有機地統(tǒng)一起來,不會像原來 Hadoop 那樣,把一堆散落的零件丟給用戶,讓用戶自己去拿 MapReduce 拼。2019 年是 Spark 誕生的第 10 個年頭,統(tǒng)一數(shù)據(jù)分析的理念始終植根于 Spark 的各個發(fā)展階段。

隨著 Spark 的成功,近幾年內(nèi) Databricks 主導的全部開源項目,也遵循統(tǒng)一數(shù)據(jù)分析的理念,讓 Spark 可以解決更多的使用場景,擴大使用的用戶群體。Koalas 解決了 pandas 的可伸縮性(scalability),讓使用單機 pandas 的數(shù)據(jù)科學家們也可以輕松利用 Spark 解決他們的大數(shù)據(jù)問題。 Delta Lake 通過其優(yōu)秀的事務(wù)性特點,簡化了復雜冗長的數(shù)據(jù)處理 pipeline 的建造,使得批流一體變得輕而易舉,對數(shù)據(jù)湖的場景提供了完美方案。MLflow 致力于打破機器學習各階段跨系統(tǒng)的弊端,完成模型訓練、特征工程、模型管理的各階段打通與統(tǒng)一。

問:那么構(gòu)建統(tǒng)一數(shù)據(jù)分析平臺存在哪些難點?你們在實踐中是如何解決這些問題的?

李元。弘y點之一在于如何建立一個通用引擎去支持不同需求,讓復雜變簡單。抽象邏輯的統(tǒng)一及高效實現(xiàn),比如 Apache Spark 中 RDD 的抽象概念是 Spark 的核心概念。同時這種核心抽象也是在不停迭代的,比如 Apache Spark 1.6 版本之后,實際上新的 Spark 核心抽象迭代為 Dataset API。

Databricks 始終堅持 data driven。這個也是我們公司文化的一個核心價值觀。我們通過用戶的使用日志做大數(shù)據(jù)分析,來選擇如何改善我們的產(chǎn)品,推出什么新的產(chǎn)品。對于一個初創(chuàng)公司,如何對需求說不,如何在有限的資源里選擇最重要的事情是最大的挑戰(zhàn)。MLflow、Delta Lake、Koalas 這些系統(tǒng)的誕生均是 data driven。

問:能否請您進一步談?wù)?Spark 的基因是什么?和其他的相關(guān)項目(比如,Ray)有什么不同?您預期 Spark 主流地位可能會在未來什么時候受到威脅?

李元。篠park 來自學術(shù)圈,誕生于加州大學伯克利分校。這所學校對計算機學科和工業(yè)界的貢獻相當之大,尤其是操作系統(tǒng)和數(shù)據(jù)庫這些方向。在 Spark 初期的設(shè)計和技術(shù)討論氛圍非常濃厚,算是學術(shù)血統(tǒng)相當純正,后來加入 Apache 基金會后,工業(yè)界的各大公司參與了各方面的研發(fā),做出了大大小小的貢獻。因此,Spark 的基因也在不斷地優(yōu)化,混入了更多工業(yè)圈研發(fā)基礎(chǔ)設(shè)施軟件的經(jīng)驗和風格,產(chǎn)品漸漸趨于成熟和穩(wěn)定。而 Ray 其實算是 Spark 的姐妹項目,都是出自于 Ion 教授的實驗室。如今,Ray 還處于早期研發(fā)階段,工業(yè)界的參與還是相對比較少,將來的普及和成熟都言之尚早。

建立數(shù)據(jù)分析的統(tǒng)一平臺是創(chuàng)建 Spark 最初的一個方向和目標。如今,Spark SQL 作為新一代的 Spark Core。我們相信我們可以通過同一套執(zhí)行引擎解決各種計算和分析的需求,并且可以跨多個不同的用戶場景做全局優(yōu)化。這個信念是從始至終在貫徹的。漸漸地,其他類似項目也都在追隨我們這個目標,甚至使用同一套術(shù)語在宣傳,這種認同,我們倍感欣慰。

事實也證明,Spark 很好地解決了 Hadoop 生態(tài)系統(tǒng)分裂的難題。Hadoop 生態(tài)圈越來越復雜,用戶體驗差,很多項目立項但是無法投產(chǎn),更無法快速產(chǎn)生商業(yè)價值。而 Spark 通過構(gòu)建一個統(tǒng)一數(shù)據(jù)分析平臺來填平各系統(tǒng)間的使用鴻溝,讓大數(shù)據(jù)問題變得簡單,讓更多的公司和機構(gòu)從大數(shù)據(jù)中獲益,也改變了我們每個人的日常工作和生活。

從目前的發(fā)展情況來看,我們看到大數(shù)據(jù)產(chǎn)業(yè)鏈里有不少優(yōu)秀的產(chǎn)品在不斷發(fā)力,通過新的硬件加速,或者提供更加豐富的功能來更好地解決某個細分領(lǐng)域問題。但是,作為數(shù)據(jù)的統(tǒng)一分析和處理平臺,十年前 Spark 的發(fā)明在很多場景逐漸取代了 Hadoop 計算層,未來若干年間,也隨時有可能有其他優(yōu)秀項目出現(xiàn)并試圖取代或部分取代 Spark。此外,現(xiàn)在的系統(tǒng)集成度和兼容性要求都很高,完全取代一整個生態(tài)的難度相當大。Spark 也只是取代了 Hadoop 的 MapReduce 計算層,對生態(tài)中的其他組件仍然是兼容并蓄。而且即便是取代單一組件,如果沒有 10x 的差異、不能推動關(guān)鍵的新型使用場景,極難推動現(xiàn)有用戶遷移。

Databricks 本身是一個強調(diào)持續(xù)創(chuàng)新的公司,我們致力于自己革新自己,這也是 Delta 、Koalas、 MLflow 等新近開源項目逐漸涌現(xiàn)的主要原因。當然我們期望能有更革命性的東西出現(xiàn),不管是來自 Spark 社區(qū),還是來自 Databricks 公司,還是來自其他團隊。

問:對于剛剛發(fā)布的 Apache Spark 3.0 預覽版,很多開發(fā)者非常感興趣。能否請您給我們解讀一下,3.0 版本中有哪些與統(tǒng)一數(shù)據(jù)分析相關(guān)的重要特性?

李元健:Spark SQL 作為新一代 Spark 的核心抽象,3.0 中涉及眾多 SQL 層的性能提升,比如 Dynamic Partition Pruning 以及社區(qū)內(nèi)呼聲很高的 Adaptive Execution,SQL 層的性能提升可以輻射到 Spark 的各個上層組件。

調(diào)度層面,Apache Spark 3.0 新增 GPU 這種加速器的資源調(diào)度,并且逐步完善了 Spark on K8s。

另外,Data Source API 以及新的 catalog 支持可以讓 Spark 更好的接入各種數(shù)據(jù)源提供統(tǒng)一的計算和更準確的分析結(jié)果,是統(tǒng)一數(shù)據(jù)分析的最好體現(xiàn)。

當然,這里只能列舉一小部分,Spark 3.0 解決了近 3000 個問題。我們在 release notes 里面會有更多的描述,歡迎大家去試用我們 3.0 的第一個預覽版本。

問:有讀者反饋在 Spark 3.0 的預覽版中好像沒有看到多少 Streaming/Structed Streaming 相關(guān)的 ISSUE,能否解釋一下這是為什么?

李元。喝缰敖榻B,Spark SQL 作為新的 Spark 核心抽象,所有 SQL 層的迭代都可以體現(xiàn)在 Structure Streaming 之上。同時,Databricks 對于流式計算領(lǐng)域的戰(zhàn)略可以理解為 Structure Streaming+Delta Lake=New Spark Streaming,解決了流處理的數(shù)據(jù)一致性問題。所以 Delta Lake 本身就是 Structed Streaming 的一部分。此外,Delta Lake 作為獨立的開源項目與 Spark Structure Streaming 和 Spark SQL 集成,提出了全新的一套 Delta Lake 架構(gòu),來取代當前最流行的 Lambda 架構(gòu)。具體的 feature 層面,我們會有全新的 Streaming UI,會有新的 data source API 去支持流入流出。

InfoQ:接下來 Databricks 和社區(qū)對于 Spark 還有哪些規(guī)劃?接下來有哪些方向是 Spark 社區(qū)會重點關(guān)注或重點去做的?

李元。菏紫刃枰獜娬{(diào),Apache Spark 的開發(fā)是由社區(qū)驅(qū)動的,Databricks 只是 Spark 的主要貢獻者。雖然從 Databricks 成長出了大量的 Committer,但是社區(qū)不應該由任何一家公司控制,任何所謂的控制都是違反 Apache 開源精神的。所有 Spark 的重要 feature 以及關(guān)鍵的點都是由社區(qū)的需求驅(qū)動的。到目前為止 Spark 已經(jīng)有十年的歷史了,全世界大大小小的公司和組織都在使用和貢獻。Spark 社區(qū)的多元化和活躍度是有目共睹的,來自全世界的貢獻也驅(qū)動著 Spark 去解決不同使用場景中的相關(guān)問題。Spark 的 committer 來自于超過三十家公司和機構(gòu),有 IT 巨頭 Apple、Google、Facebook 等;有特定行業(yè)的領(lǐng)導者,Nvidia、Netflix、Uber、Linkedin、eBay 等;也有獨角獸級別的創(chuàng)業(yè)公司,Databricks、Stripe 等;還有頂尖院校,比如加州伯克利大學、斯坦福大學、普林斯頓大學;當然也有國內(nèi)的 IT 大廠,比如阿里、騰訊、華為和京東。大量用戶和社區(qū)的 committers 每天在報問題、報需求,提出自己的想法和解決方案。Databricks 作為主要的貢獻者,我們會繼續(xù)朝著統(tǒng)一分析平臺的方向發(fā)展,去更好地解決更多用戶場景問題,提升用戶體驗,增加用戶基數(shù)。

說回 Spark 社區(qū)接下來的幾個主要的發(fā)力點,Spark 的成長方向始終就是兩條線,一個是 Spark 自身引擎的迭代,另外一個是借助 Spark 孵化出來的 Spark 生態(tài)。首先是 SQL 的不斷演化,目前 Apache Spark 3.0 發(fā)布的一系列工作還在推進當中,大家可能看到的,比方說 DataSource API,比方說 ANSI SQL 的一系列的標準,都還在進行當中,這是對 Spark Core 持續(xù)不斷的優(yōu)化。另外 Spark 從技術(shù)上還會生長出新的東西,這個大家也可以期待一系列新的場景和融合。Spark 周邊生態(tài)的構(gòu)建也是重點,相信我這次分享里著重介紹的 Koalas 及 Delta Lake 就是很好的例子。隨著 Data Source API 的不斷完善,我們相信 Spark 生態(tài)圈會進一步地擴展和加強。未來 Databricks 也會全力去完善 Spark 生態(tài)版圖,繼續(xù)保持 Spark 在數(shù)據(jù)處理和分析的領(lǐng)先優(yōu)勢。

問:如果請您回顧大數(shù)據(jù)領(lǐng)域過去這一年,您認為有哪些進展和變化值得一提?

李元。涸频牧α恳呀(jīng)完全不可忽視了,云化進程一直在持續(xù)往前推進,無論是從技術(shù)上還是商業(yè)上,都能看到 2019 年全年整個領(lǐng)域?qū)τ谠苹男枨蟮牟粩嘣鲩L。與 2018 年頭部三大云廠商增長 50% 不同的是,2019 年增長的主角開始從頭部的大的云廠商開始向小規(guī)模公司、初創(chuàng)公司轉(zhuǎn)移,Databricks 也是其中的一員。在商業(yè)的刺激下,云化技術(shù)如 K8s 及云化生態(tài)持續(xù)蓬勃發(fā)展。大公司現(xiàn)在也變得越來越 Open,不會什么都想把控在自己手里,而是更愿意和小公司聯(lián)合,比如 Databricks 和 Azure、AWS 等一系列云廠商都有合作關(guān)系。

大數(shù)據(jù)領(lǐng)域這一年是多事之秋。Hadoop 在不斷萎縮,從 Hadoop 的三個發(fā)行商市值蒸發(fā)的速度就能看出。但相反,Databricks 這一年獲得兩輪融資,估值大幅提升到 62 億美金。這種反差恰恰說明市場對 Unified Analytics Platform + Open Source + Cloud + AI 的肯定。大數(shù)據(jù)和小數(shù)據(jù)的邊界會越來越模糊,客戶需要的是一個統(tǒng)一的分析平臺,解決實際的數(shù)據(jù)處理和分析問題。隨著數(shù)據(jù)急劇增長,未來數(shù)據(jù)存儲和處理都會逐漸遷移到更廉價的公有云,讓資源更合理的集中彈性調(diào)配。如何快速從數(shù)據(jù)中挖掘出信息來改善決策是重點。

問:未來大數(shù)據(jù)領(lǐng)域還有哪些重要的技術(shù)方向或趨勢值得關(guān)注?

李元。簜人認為有一項趨勢已經(jīng)持續(xù)了數(shù)年,就是多個數(shù)據(jù)分析領(lǐng)域的融合,包括傳統(tǒng)數(shù)據(jù)庫、分布式計算以及檢索技術(shù),這種趨勢也促成了統(tǒng)一分析理念的形成。雖然目前有數(shù)量繁多的新框架、引擎,但大家能夠注意到,數(shù)據(jù)管理能力依舊沒有跟上數(shù)據(jù)爆炸式增長的速度。所以在這種融合趨勢的推動下,立足于新的場景,原有的很多理念和設(shè)計會重新煥發(fā)光彩,舉個實際例子,Delta Lake 本身就是最典型的例子,Delta Lake 最核心的 ACID 支持就是傳統(tǒng)數(shù)據(jù)庫的基本功能,但 Delta Lake 基于 Spark 上的 ACID Table 解決了大量痛點,很快成為關(guān)注度極高的開源項目。

我剛才沒有提到 Databricks 的一個拳產(chǎn)品,就是 MLflow,我們下一步希望融合的場景就是在智能計算,以及 AI 領(lǐng)域。如果我們把整個 AI 看作火箭,大數(shù)據(jù)是其中的發(fā)動機,我們?nèi)绾文茏尠l(fā)動機的設(shè)計和火箭的設(shè)計一體化,在這個過程當中,我們能做的東西還有很多。大數(shù)據(jù)和 AI 當前的狀態(tài)其實多少有些割裂,就像一個公司的算法工程師和數(shù)據(jù)工程師一樣,現(xiàn)在還是分置的兩塊,如何進一步融合,也許會是一個新的藍海。

此外,未來公有云是數(shù)據(jù)處理和分析的最佳平臺,所以云原生的解決方案是趨勢也是重點。比如,如何在 pay as you go 這種收費模式下,基于數(shù)據(jù)來驅(qū)動開發(fā)、定價和決策;如何提供 Serverless 的服務(wù),在軟件架構(gòu)、交付和部署上做創(chuàng)新;如何打破現(xiàn)有的大數(shù)據(jù)框架,去更好與現(xiàn)有的云計算服務(wù)融合,提升用戶的使用體驗等。

嘉賓介紹:

李元健,Databricks 軟件工程師。曾于 2011 年加入百度基礎(chǔ)架構(gòu)部,先后參與百度自研流式計算、分布式 Tracing 及批量計算系統(tǒng)的研發(fā)工作,2017 年轉(zhuǎn)崗項目經(jīng)理,負責百度分布式計算平臺研發(fā)工作。2019 年加入 Databricks Spark 團隊,參與開源軟件及 Databricks 產(chǎn)品研發(fā)。

標簽: 大數(shù)據(jù) 大數(shù)據(jù)時代 大數(shù)據(jù)概念 網(wǎng)絡(luò)大數(shù)據(jù) 網(wǎng)絡(luò)數(shù)據(jù)與 

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:我們是怎樣打造一款分布式數(shù)據(jù)庫的

下一篇:我在數(shù)據(jù)科學前線工作這一年