Tungsten Fabric SDN — SmartNIC vRouter
936
2022-05-28
Spark是一個通用的并行計算框架,由加州伯克利大學的AMP于2009開發,并于2010年進行開源,后續發展為大數據領域的最活躍的開源項目之一。Spark在各大場景中扮演著重要的角色,比如能夠進行復雜的批數據處理,基于實時數據流的數據處理和歷史數據的交互式查詢。在實時大數據應用的場景下,相比于Hadoop的高吞吐,低響應的特點,spark通過內存計算能力極大提高了大數據處理速度,對實時場景能夠提供完美的解決方案,并支持SQL查詢,圖計算,機器學習等。編程方面Spark支持Java, Scala, python,R等語言實現業務邏輯,用戶能夠根據業務框架自由選擇相應的編程語言,容易上手。
Spark的特點:
快速處理能力:隨著爆炸式增長的海量數據,數據處理的實時性顯得尤為重要。Hadoop MapReduce的Job將中間輸出與結果存儲在磁盤中,讀寫磁盤造成磁盤I/O瓶頸,而Spark支持將中間輸出與結果存儲在內存中,提升了任務執行的效率,也避免因磁盤高I/O引起的性能問題,對大數據的實時處理也能做到輕松應對。
易于使用:Spark支持多種編程語言,包括java、scala,python和R語言等。比如用戶能夠通過簡單的python語言調用豐富的機器學習庫進行業務開發,極大降低了用戶的使用門檻。
高可用:Spark集群模式多實例部署,解決機器單點故障問題。
豐富的數據源:Spark支持豐富的數據源,除了操作系統自身的文件系統和HDFS,還支持訪問Cassandra,Hbase,Hive,Tachyon等
支持查詢與流式計算:Spark支持SQL查詢,使用簡單SQL即可開發復雜業務邏輯。Spark也支持實時流計算,依賴Spark Streaming對數據進行實時處理,主要針對生命周期短的數據,需要及時挖掘其中的數據價值。
Spark模塊組成:
Spark core:Spark的基礎與核心功能實現,包括sparkContent初始化、調度系統(DAGScheduler和TaskScheduler)、存儲體系(Spark優先考慮使用各節點的內存作為存儲)、計算引擎等。
Spark SQL:提供SQL查詢能力,尤其對于一些不熟悉scala語言的但又想通過大數據平臺進行數據挖掘的開發工程師,能夠輕松利用SQL語句進行交互式查詢和業務開發。
Spark Stream:提供實時流計算能力,Spark Streaming支持的數據輸入源主要包括Kafka、Flume、ZeroMQ等。
MLlib:提供機器學習相關的算法和實用程序,比如分類,聚類,回歸等,提供了常用數據挖掘算法的分布式實現功能。
Graphx:一個分布式圖處理框架,提供強大圖計算能力,基于Spark平臺提供對圖計算和圖挖掘簡潔易用的而豐富的接口。
現華為云上數據湖探索(Data Lake Insight,簡稱DLI)基于Apache Spark生態,提供了SQL,SPARK,FLINK完整生態鏈,幫助用戶挖掘和探索數據價值。
spark SQL
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。