原做:Tynejpython
翻譯:way算法
市場上有許多可用的框架。其中一些相對更受歡迎,例如Spark,Hadoop,Hive和Storm,普雷斯托(Presto)在效用指數上得分很高,而Flink具備巨大的潛力。另外還有一些須要說起的其餘內容,例如Samza,Impala,Apache Pig等大數據組件。在這裏,咱們將討論其中的一些安全
一:Apache Hadoop微信
Hadoop是基於Java的平臺。這是一個開源框架,可跨集羣排列的一組硬件機器提供批處理數據處理和數據存儲服務。Hadoop不只適用於可靠、可擴展和分佈式的計算,同時也能夠用做通用文件存儲,它能夠存儲和處理PB級別的信息。Hadoop由三個主要組件組成:併發
HDFS文件系統-負責Hadoop集羣中的數據存儲;app
MapReduce系統-用於處理集羣中的大量數據;框架
YARN-它是處理資源管理的核心。機器學習
優勢分佈式
它提供了經濟高效的解決方案,高吞吐量,多語言支持以及與大數據服務中大多數新興技術的兼容性。還經過其出色的故障處理機制支持高可伸縮性,容錯能力,更適合研發,高可用性。工具
缺點
它包含安全漏洞的漏洞,不執行內存中的計算,所以會遭受處理開銷,不適用於流處理和實時處理,這是處理大量小文件的問題。
像Amazon,Adobe,AOL,阿里巴巴,EBay和Facebook這樣的組織也使用Hadoop。
二: Apache Spark
Spark框架由加利福尼亞大學伯克利分校成立。它是具備改進的數據流處理的批處理框架。藉助完整的內存計算以及處理優化,它保證了極其快速的集羣計算系統。
Spark框架由五層組成。
HDFS和HBASE:它們構成了數據存儲系統的第一層。
YARN和Mesos:它們造成資源管理層。
核心引擎:這造成了第三層。
庫:構成第四層,其中包含用於流查詢處理時的SQL查詢的Spark SQL,用於處理圖形數據的GraphX和Spark R實用程序以及用於機器學習算法的MLlib。
第五層包含一個應用程序接口,例如Java、Scala,固然還有python。
Spark能夠做爲獨立的集羣與功能強大的存儲層一塊兒使用,也能夠與Hadoop進行一致的集成。它也支持一些流行的語言,例如Python,R,Java和Scala。
優勢
速度快
使用方便
進階分析
天然動態
多種語言
Apache Spark功能強大
增長對大數據的訪問
對Spark開發人員的需求
開源社區活躍
缺點
Spark帶來了一些弊端,例如設置和實現的複雜性,語言支持限制,而不是真正的流引擎。
三:Storm
Apache Storm是另外一個引人注目的解決方案,專一於處理巨大的實時數據流。Storm的主要亮點是可伸縮性和停機後的迅速恢復能力。您能夠在Java,Python,Ruby和Fancy的幫助下使用此解決方案。Storm包含一些使其在本質上與模擬產品不一樣的組件。第一個是Tuple,它是支持序列化的關鍵數據表示元素。而後是Stream,它在Tuple中合併了命名字段的方案。Spout從外部源獲取數據,從它們中造成元組,而後將它們發送到Stream。另外還有Bolt(數據處理器)和Topology(拓撲),這是一整套元素及其相關描述。將全部這些元素組合在一塊兒,能夠幫助工程師監督大量的非結構化數據流。
談到性能,Storm提供了比Flink和Spark更好的延遲。儘管如此,它的吞吐量卻更糟。最近,Twitter移至另外一個框架Heron。Yelp,Yahoo 、阿里巴巴等大型組織還沒有利用Storm。到2020年,它將擁有龐大的客戶羣和支持。
四: Apache Flink
Apache Flink是一個開源框架,一樣適用於批處理和流數據處理。它最適合於集羣環境。該框架基於轉換–流概念。它也是大數據的4G。它比Hadoop中的計算框架MapReduce快100倍。
Flink框架由多層組成
部署層
運行層
庫層
優勢
低延遲,高吞吐量,容錯,逐項輸入,批處理輕鬆以及流數據處理,與Hadoop的兼容性。
缺點
不多有可伸縮性問題。
五: Presto
它是最適合較小數據集的開源分佈式SQL工具。Presto發動機配備了協調員以及各類工人。當客戶提交查詢時,將對這些查詢進行解析,分析,計劃執行並分配給協調員在工做人員之間進行處理。
優勢
即便併發查詢工做量增長,查詢降級最少。
它的查詢執行速度比Hive快三倍。
易於添加圖像和嵌入連接。
高度用戶友好。
缺點
可靠性問題
六:Samza
Apache Samza是有狀態的流,準備與Kafka共同開發的大數據系統。Kafka提供數據服務,緩衝和容錯能力。二者結合起來被提議用於須要快速單級處理的地方。使用Kafka,能夠以低延遲使用它。Samza還在處理過程當中保存了局部狀態,從而提供了更多的容錯能力。它是爲Kappa體系結構設計的,但能夠在其餘體系結構中使用。Samza使用YARN來安排資源。所以,它須要一個Hadoop集羣才能工做,這意味着您能夠依賴YARN提供的亮點。這個大數據處理框架是爲Linkedin開發的,也被eBay和TripAdvisor使用,以進行欺詐發現。Kafka利用了至關一部分代碼來建立競爭的數據處理框架Kafka流。
原文:https://www.reddit.com/r/bigdata/comments/dtbtui/top_6_big_data_frameworks/
你點的每一個在看 我都認真當成了喜歡
本文分享自微信公衆號 - 數據指南(BigDataDT)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。