大資料分析Apache Spark的應用例項

2021-10-09 11:34:56 字數 3003 閱讀 9247

apache spark在實際應用中迅速獲得發展。加州大學伯克利分校的amplab於2023年開發了spark,並於2023年將其開源。從那時起,它已發展成為大資料領域最大的開源社群之一,擁有來自50多個組織的200多位貢獻者。這個開放源**分析引擎以比mapreduce更快的速度處理大量資料而出類拔萃,因為資料被持久儲存在spark自己的處理框架中。

在考慮hadoop生態系統中的各種引擎時,重要的是要了解每個引擎在某些用例下效果最佳,並且企業可能需要使用多種工具組合才能滿足每個所需的用例。話雖如此,這裡是對apache spark的一些頂級用例的回顧。

一、流資料

apache spark的關鍵用例是其處理流資料的能力。由於每天要處理大量資料,因此對於公司而言,實時流傳輸和分析資料變得至關重要。spark streaming具有處理這種額外工作負載的能力。一些專家甚至認為,無論哪種型別,spark都可以成為流計算應用程式的首選平台。提出此要求的原因是,spark streaming統一了不同的資料處理功能,從而使開發人員可以使用單個框架來滿足其所有處理需求。

當今企業使用spark streaming的一般方式包括:

1、流式etl –在資料倉儲環境中用於批處理的傳統etl(提取,轉換,載入)工具必須讀取資料,將其轉換為資料庫相容格式,然後再將其寫入目標資料庫。使用streaming etl,在將資料推送到資料儲存之前,將對其進行連續的清理和聚合。

3、觸發事件檢測 – spark streaming使組織可以檢測到可能對系統內部潛在嚴重問題的罕見或異常行為(「觸發事件」)並做出快速響應。金融機構使用觸發器來檢測欺詐**易並阻止其欺詐行為。醫院還使用觸發器來檢測潛在的危險健康變化,同時監視患者的生命體徵-向正確的護理人員傳送自動警報,然後他們可以立即採取適當的措施。

4、複雜的會話分析 –使用spark streaming,與實時會話有關的事件(例如登入**或應用程式後的使用者活動)可以組合在一起並進行快速分析。會話資訊還可以用於不斷更新機器學習模型。諸如netflix之類的公司使用此功能可立即了解使用者在其**上的參與方式,並提供更多實時電影推薦。

二、機器學習

許多apache spark用例中的另乙個是它的機器學習功能。

spark帶有用於執行高階分析的整合框架,該框架可幫助使用者對資料集進行重複查詢,這從本質上講就是處理機器學習演算法。在此框架中找到的元件包括spark的可擴充套件機器學習庫(mllib)。mllib可以在諸如聚類,分類和降維等領域中工作。所有這些使spark可以用於一些非常常見的大資料功能,例如**智慧型,用於營銷目的的客戶細分以及情感分析。使用推薦引擎的公司將發現spark可以快速完成工作。

網路安全是spark 機器學習功能的乙個很好的商業案例。通過使用spark堆疊的各種元件,安全提供程式可以對資料報進行實時檢查,以發現惡意活動的痕跡。在前端,spark streaming允許安全分析人員在將資料報傳遞到儲存平台之前檢查已知威脅。到達儲存區後,資料報將通過其他堆疊元件(例如mllib)進行進一步分析。因此,安全提供商可以在不斷發展的過程中了解新的威脅-始終領先於黑客,同時實時保護其客戶。

三、互動分析

spark最顯著的功能之一就是其互動式分析功能。mapreduce是為處理批處理而構建的,而hive或pig等sql-on-hadoop引擎通常太慢,無法進行互動式分析。但是,apache spark足夠快,可以執行探索性查詢而無需取樣。spark還與包括sql,r和python在內的多種開發語言介面。通過將spark與視覺化工具結合使用,可以互動地處理和視覺化複雜的資料集。

下一版本的apache spark(spark 2.0)將於今年的4月或5月首次亮相,它將具有一項新功能- 結構化流 -使使用者能夠對實時資料執行互動式查詢。通過將實時流與其他型別的資料分析相結合,預計結構化流將通過允許使用者針對web訪問者當前會話執行互動式查詢來促進web分析。它也可以用於將機器學習演算法應用於實時資料。在這種情況下,將對舊資料進行演算法訓練,然後將其重定向以合併新的資料,並在其進入​​記憶體時從中學習。

四、霧計算

儘管大資料分析可能會引起廣泛關注,但真正激發技術界想象力的概念是物聯網(iot)。物聯網通過微型感測器將物件和裝置嵌入在一起,這些微型感測器彼此之間以及與使用者進行通訊,從而建立了乙個完全互連的世界。這個世界收集了大量資料,對其進行處理,並提供革命性的新功能和應用程式供人們在日常生活中使用。但是,隨著物聯網的擴充套件,對大量,種類繁多的機器和感測器資料進行大規模並行處理的需求也隨之增加。但是,利用雲中的當前分析功能很難管理所有這些處理。

那就是霧計算和apache spark出現的地方。

霧計算將資料處理和儲存分散化,而不是在網路邊緣執行這些功能。但是,霧計算為處理分散資料帶來了新的複雜性,因為它越來越需要低延遲,機器學習的大規模並行處理以及極其複雜的圖形分析演算法。幸運的是,有了spark streaming等關鍵堆疊元件,互動式實時查詢工具(shark),機器學習庫(mlib)和圖形分析引擎(graphx),spark不僅具有霧計算解決方案的資格。實際上,隨著物聯網行業逐漸不可避免地融合,許多行業專家**,與其他開源平台相比,spark有可能成為事實上的霧基礎設施。

現實世界中的火花

pinterest –通過類似的etl管道,pinterest可以利用spark streaming即時了解世界各地的使用者如何與pins互動。因此,當人們瀏覽站點並檢視相關的圖釘時,pinterest可以提出更相關的建議,以幫助他們選擇食譜,確定要購買的產品或計畫前往各個目的地的行程。

何時不使用spark

儘管它具有通用性,但這並不一定意味著apache spark的記憶體中功能最適合所有用例。更具體地說,spark並非設計為多使用者環境。spark使用者需要知道他們有權訪問的記憶體對於資料集是否足夠。新增更多的使用者使此操作變得更加複雜,因為使用者必須協調記憶體使用量才能同時執行專案。由於無法處理這種型別的併發,使用者將需要為大型批處理專案考慮使用備用引擎,例如apache hive。

隨著時間的流逝,apache spark將繼續發展自己的生態系統,變得比以前更加通用。在大資料已成為規範的世界中,組織將需要找到最佳方式來利用它。從這些apache spark用例可以看出,未來幾年將有很多機會來了解spark的真正功能。

隨著越來越多的組織認識到從批處理過渡到實時資料分析的好處,apache spark的定位是可以在眾多行業中獲得廣泛而快速的採用。

摘自:

大資料分析工具

新 指數 清博大資料 新 指數 www.gsdata.cn 是新 大資料第一平台,為運營新 利器 現已開通賬號分鐘級監測服務,打擊粉絲造假賬號,支援使用者自主監測新 資料 定製各類榜單,並提供資料api等各類增值服務。資料視覺化工具 cytoscape 圖表秀 資料觀 微博足跡視覺化 bdp個人版 ...

大資料分析流程

愛資料學院 welcome 一 為什麼要做乙份資料報告 你是乙個工作了一段時間的白領,你覺得現在這份工作不適合你,你下班以後去逛知乎,在上面看到很多人在說大資料代表未來,資料分析師是21世紀最 的十大職業之一 你激動了,你也要成為資料分析師,你利用空餘時間補上了統計知識,學了分析工具,然後發現自己目...

大資料分析框架

spark 是在 hadoop 的基礎上進行了一些架構上的改良。spark 與hadoop 最大的不同點在於,hadoop 使用硬碟來儲存資料,而spark 使用記憶體來儲存資料,因此 spark 可以提供超過 ha?doop 100 倍的運算速度。由於記憶體斷電後會丟失資料,spark不能用於處理...