久久精品水蜜桃av综合天堂,久久精品丝袜高跟鞋,精品国产肉丝袜久久,国产一区二区三区色噜噜,黑人video粗暴亚裔

Apache Spark

來自站長百科
跳轉(zhuǎn)至: 導航、? 搜索

Apache Spark 是一個開源大數(shù)據(jù)處理框架,旨在提供快速、通用和易用的數(shù)據(jù)處理功能。Spark 是一種與Apache Hadoop 相似的開源集群計算環(huán)境,但是兩者之間還存在一些不同之處,這些有用的不同之處使 Spark 在某些工作負載方面表現(xiàn)得更加優(yōu)越,換句話說,Spark 啟用了內(nèi)存分布數(shù)據(jù)集,除了能夠提供交互式查詢外,它還可以優(yōu)化迭代工作負載。

概述[ ]

Apache Spark是UC Berkeley AMP lab (加州大學伯克利分校的AMP實驗室)所開源的類Hadoop MapReduce的通用并行框架,Spark,擁有Hadoop MapReduce所具有的優(yōu)點;但不同于MapReduce的是——Job中間輸出結(jié)果可以保存在內(nèi)存中,從而不再需要讀寫HDFS,因此Spark能更好地適用于數(shù)據(jù)挖掘與機器學習等需要迭代的MapReduce的算法。

盡管創(chuàng)建 Spark 是為了支持分布式數(shù)據(jù)集上的迭代作業(yè),但是實際上它是對 Hadoop 的補充,可以在 Hadoop 文件系統(tǒng)中并行運行。通過名為 Mesos 的第三方集群框架可以支持此行為。Spark 由加州大學伯克利分校 AMP 實驗室 (Algorithms, Machines, and People Lab) 開發(fā),可用來構(gòu)建大型的、低延遲的數(shù)據(jù)分析應用程序。

功能特點[ ]

1、速度快:Apache Spark支持內(nèi)存計算,并且通過有向無環(huán)圖(DAG)執(zhí)行引擎支持無環(huán)數(shù)據(jù)流,據(jù)官方稱,其在內(nèi)存中的運算速度比Hadoop的MapReduce快100倍,在硬盤中要快10倍。與MapReduce相比,Spark處理數(shù)據(jù)時具有兩個顯著不同之處:首先,它能夠?qū)⒅虚g處理結(jié)果數(shù)據(jù)存儲到內(nèi)存中;其次,Spark提供了豐富的算子(API),使得復雜任務可以在一個Spark程序中完成。

2、易用性好:截至2023年4月13日,Spark的版本已更新至3.4.0,支持Java、Scala、Python、R和SQL等多種語言。為了滿足Spark 2.x企業(yè)級應用場景的需求,Spark仍持續(xù)更新Spark 2.x版本。

3、通用性強:除了核心功能外,Spark還提供了諸如Spark SQL、Spark Streaming、MLlib和GraphX等多個工具庫,用戶可以在一個應用中無縫地使用這些工具庫。

4、隨處運行:Spark支持多種運行方式,包括在YARN和Mesos上支持獨立集群運行模式,同時也能夠運行在云環(huán)境中,如Kubernetes(Spark 2.3開始支持)。

5、批處理/流數(shù)據(jù):用戶可以使用首選語言(Python、SQL、Scala、Java或R)以批處理和實時流的方式統(tǒng)一進行數(shù)據(jù)處理。

6、SQL分析:Spark能夠執(zhí)行快速、分布式的ANSI SQL查詢,可用于儀表板和即席報告,其運行速度比大多數(shù)數(shù)據(jù)倉庫更快。

7、大規(guī)模數(shù)據(jù)科學:用戶可以對PB級數(shù)據(jù)執(zhí)行探索性數(shù)據(jù)分析(EDA),而無需進行縮減采樣。

8、機器學習:用戶可以在筆記本電腦上訓練機器學習算法,并使用相同的代碼擴展到數(shù)千臺計算機的容錯群集。

生態(tài)結(jié)構(gòu)[ ]

  • Spark Core:這是Spark的基礎(chǔ)組件,包含了Spark的基本功能,如任務調(diào)度、內(nèi)存管理、容錯機制等。Spark Core內(nèi)部采用了彈性分布式數(shù)據(jù)集(RDD)作為數(shù)據(jù)抽象,并提供豐富的API來創(chuàng)建和操作這些RDD。
  • Spark SQL:這是一個用于處理結(jié)構(gòu)化數(shù)據(jù)的組件,允許用戶直接查詢Hive、HBase等多種外部數(shù)據(jù)源中的數(shù)據(jù)。Spark SQL可以統(tǒng)一處理關(guān)系表,使開發(fā)人員能夠使用SQL命令來完成復雜的數(shù)據(jù)查詢操作,而無需編寫MapReduce程序。
  • Spark Streaming:這是Spark提供的流式計算框架,支持高吞吐量、可容錯的實時流式數(shù)據(jù)處理。它的核心原理是將流式數(shù)據(jù)分解成一系列微小的批處理作業(yè),然后使用Spark Core進行快速處理。
  • MLlib:這是Spark提供的機器學習庫,包括了多種常用的機器學習算法,如分類、回歸、聚類、協(xié)同過濾等。它還提供了模型評估、數(shù)據(jù)導入等功能,使得開發(fā)人員只需具備一定的機器學習知識就能進行相關(guān)開發(fā)。
  • GraphX:這是Spark提供的分布式圖處理框架,它具有豐富的圖計算和圖挖掘算法的API接口以及功能和運算符,極大地方便了對分布式圖的處理,使得可以在海量數(shù)據(jù)上運行復雜的圖算法。

部署模式[ ]

  • 本地模式(單機模式):通過一個獨立的進程和多個內(nèi)部線程模擬整個Spark運行時環(huán)境。本地模式主要用于本地程序開發(fā)和代碼驗證,不適合用于生產(chǎn)環(huán)境。
  • 獨立集群模式(集群模式):各個Spark角色以獨立進程形式存在,組成Spark集群環(huán)境。在這種模式下,Spark獨立地管理集群的資源。
  • Spark on YARN模式(集群模式):各個Spark角色在YARN的容器內(nèi)運行,組成Spark集群環(huán)境。在這種模式下,Spark不再管理集群資源,而是由YARN進行資源管理。
  • Kubernetes模式(容器集群):各個Spark角色在Kubernetes的容器內(nèi)運行,形成Spark集群環(huán)境。
  • 云服務模式(運行在云平臺上):商業(yè)版本的Databricks運行在谷歌云、微軟云和亞馬遜云等云平臺上,提供云端的Spark服務。

相關(guān)條目[ ]