- Spark大數據分析實戰(zhàn)
- 張偉洋
- 673字
- 2021-03-26 22:18:41
2.2 什么是Spark
Apache Spark是一個快速通用的集群計算系統(tǒng),是一種與Hadoop相似的開源集群計算環(huán)境,但是Spark在一些工作負載方面表現(xiàn)得更加優(yōu)越。它提供了Java、Scala、Python和R的高級API,以及一個支持通用的執(zhí)行圖計算的優(yōu)化引擎。它還支持一組豐富的高級工具,包括使用SQL進行結構化數據處理的Spark SQL、用于機器學習的MLlib、用于圖處理的GraphX,以及用于實時流處理的Spark Streaming。
下面介紹Spark的主要特點。
1.快速
我們已經知道,MapReduce主要包括Map和Reduce兩種操作,且將多個任務的中間結果存儲于HDFS中。與MapReduce相比,Spark可以支持包括Map和Reduce在內的更多操作,這些操作相互連接形成一個有向無環(huán)圖(Directed Acyclic Graph,DAG),各個操作的中間數據會被保存在內存中。因此,Spark處理速度比MapReduce更快。
Spark通過使用先進的DAG調度器、查詢優(yōu)化器和物理執(zhí)行引擎,從而能夠高性能地實現(xiàn)批處理和流數據處理。圖2-2是邏輯回歸算法在Hadoop和Spark上的處理時間比較,圖表左邊是Hadoop的處理時間,為110秒;圖表右邊是Spark的處理時間,為0.9秒。

圖2-2 邏輯回歸算法在Hadoop和Spark上的處理時間比較
2.易用
Spark可以使用Java、Scala、Python、R和SQL快速編寫應用程序。
Spark提供了超過80個高級算子(關于算子,在第3章將詳細講解),使用這些算子可以輕松構建并行應用程序,并且可以從Scala、Python、R和SQL的Shell中交互式地使用它們。
3.通用
Spark擁有一系列庫,包括SQL和DataFrame、用于機器學習的MLlib、用于圖計算的GraphX、用于實時計算的Spark Streaming,可以在同一個應用程序中無縫地組合這些庫。
4.到處運行
Spark可以使用獨立集群模式運行(使用自帶的獨立資源調度器,稱為Standalone模式),也可以運行在Amazon EC2、Hadoop YARN、Mesos(Apache下的一個開源分布式資源管理框架)、Kubernetes之上,并且可以訪問HDFS、Cassandra、HBase、Hive等數百個數據源中的數據。
- LibGDX Game Development Essentials
- 大數據技術基礎
- 數據庫原理及應用教程(第4版)(微課版)
- Access 2007數據庫應用上機指導與練習
- 分布式數據庫系統(tǒng):大數據時代新型數據庫技術(第3版)
- 云計算服務保障體系
- 數據結構與算法(C語言版)
- 大數據Hadoop 3.X分布式處理實戰(zhàn)
- 智能數據時代:企業(yè)大數據戰(zhàn)略與實戰(zhàn)
- 計算機視覺
- 機器學習:實用案例解析
- Filecoin原理與實現(xiàn)
- PostgreSQL高可用實戰(zhàn)
- 標簽類目體系:面向業(yè)務的數據資產設計方法論
- Access 2010數據庫應用技術教程(第二版)