日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Spark-大规模数据处理计算引擎

發(fā)布時間:2025/3/8 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spark-大规模数据处理计算引擎 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

官網(wǎng):http://spark.apache.org

一、Spark是什么

Spark是一種快速、通用、可擴展的大數(shù)據(jù)分析引擎,2009年誕生于加州大學(xué)伯克利分校AMPLab,2010年開源,2013年6月成為Apache孵化項目,2014年2月成為Apache頂級項目。項目是用Scala進行編寫。

目前,Spark生態(tài)系統(tǒng)已經(jīng)發(fā)展成為一個包含多個子項目的集合,其中包含SparkSQL、Spark Streaming、GraphX、MLib、SparkR等子項目,Spark是基于內(nèi)存計算的大數(shù)據(jù)并行計算框架。除了擴展了廣泛使用的 MapReduce 計算模型,而且高效地支持更多計算模式,包括交互式查詢和流處理。Spark 適用于各種各樣原先需要多種不同的分布式平臺的場景,包括批處理、迭代算法、交互式查詢、流處理。通過在一個統(tǒng)一的框架下支持這些不同的計算,Spark 使我們可以簡單而低耗地把各種處理流程整合在一起。而這樣的組合,在實際的數(shù)據(jù)分析 過程中是很有意義的。不僅如此,Spark 的這種特性還大大減輕了原先需要對各種平臺分 別管理的負擔。

大一統(tǒng)的軟件棧,各個組件關(guān)系密切并且可以相互調(diào)用,這種設(shè)計有幾個好處:

1、軟件棧中所有的程序庫和高級組件 都可以從下層的改進中獲益。

2、運行整個軟件棧的代價變小了。不需要運 行 5 到 10 套獨立的軟件系統(tǒng)了,一個機構(gòu)只需要運行一套軟件系統(tǒng)即可。系統(tǒng)的部署、維護、測試、支持等大大縮減。

3、能夠構(gòu)建出無縫整合不同處理模型的應(yīng)用。

二、Spark的內(nèi)置項目

  • Spark Core: 實現(xiàn)了 Spark 的基本功能,包含任務(wù)調(diào)度、內(nèi)存管理、錯誤恢復(fù)、與存儲系統(tǒng) 交互等模塊。Spark Core 中還包含了對彈性分布式數(shù)據(jù)集(resilient distributed dataset,簡稱RDD)的 API 定義。
  • Spark SQL: 是 Spark 用來操作結(jié)構(gòu)化數(shù)據(jù)的程序包。通過 Spark SQL,我們可以使用 SQL 或者 Apache Hive 版本的 SQL 方言(HQL)來查詢數(shù)據(jù)。Spark SQL 支持多種數(shù)據(jù)源,比 如 Hive 表、Parquet 以及 JSON 等。
  • Spark Streaming: 是 Spark 提供的對實時數(shù)據(jù)進行流式計算的組件。提供了用來操作數(shù)據(jù)流的 API,并且與 Spark Core 中的 RDD API 高度對應(yīng)。
  • Spark MLlib: 提供常見的機器學(xué)習(xí)(ML)功能的程序庫。包括分類、回歸、聚類、協(xié)同過濾等,還提供了模型評估、數(shù)據(jù) 導(dǎo)入等額外的支持功能。
  • 集群管理器: Spark 設(shè)計為可以高效地在一個計算節(jié)點到數(shù)千個計算節(jié)點之間伸縮計 算。為了實現(xiàn)這樣的要求,同時獲得最大靈活性,Spark 支持在各種集群管理器(cluster manager)上運行,包括 Hadoop YARN、Apache Mesos,以及 Spark 自帶的一個簡易調(diào)度 器,叫作獨立調(diào)度器。

Spark得到了眾多大數(shù)據(jù)公司的支持,這些公司包括Hortonworks、IBM、Intel、Cloudera、MapR、Pivotal、百度、阿里、騰訊、京東、攜程、優(yōu)酷土豆。當前百度的Spark已應(yīng)用于鳳巢、大搜索、直達號、百度大數(shù)據(jù)等業(yè)務(wù);阿里利用GraphX構(gòu)建了大規(guī)模的圖計算和圖挖掘系統(tǒng),實現(xiàn)了很多生產(chǎn)系統(tǒng)的推薦算法;騰訊Spark集群達到8000臺的規(guī)模,是當前已知的世界上最大的Spark集群。

三、Spark特點


  • 與Hadoop的MapReduce相比,Spark基于內(nèi)存的運算要快100倍以上,基于硬盤的運算也要快10倍以上。Spark實現(xiàn)了高效的DAG執(zhí)行引擎,可以通過基于內(nèi)存來高效處理數(shù)據(jù)流。計算的中間結(jié)果是存在于內(nèi)存中的。

  • 易用
    Spark支持Java、Python和Scala的API,還支持超過80種高級算法,使用戶可以快速構(gòu)建不同的應(yīng)用。而且Spark支持交互式的Python和Scala的shell,可以非常方便地在這些shell中使用Spark集群來驗證解決問題的方法。

  • 通用
    Spark提供了統(tǒng)一的解決方案。Spark可以用于批處理、交互式查詢(Spark SQL)、實時流處理(Spark Streaming)、機器學(xué)習(xí)(Spark MLlib)和圖計算(GraphX)。這些不同類型的處理都可以在同一個應(yīng)用中無縫使用。Spark統(tǒng)一的解決方案非常具有吸引力,畢竟任何公司都想用統(tǒng)一的平臺去處理遇到的問題,減少開發(fā)和維護的人力成本和部署平臺的物力成本。

  • 兼容性
    Spark可以非常方便地與其他的開源產(chǎn)品進行融合。比如,Spark可以使用Hadoop的YARN和Apache Mesos作為它的資源管理和調(diào)度器,器,并且可以處理所有Hadoop支持的數(shù)據(jù),包括HDFS、HBase和Cassandra等。這對于已經(jīng)部署Hadoop集群的用戶特別重要,因為不需要做任何數(shù)據(jù)遷移就可以使用Spark的強大處理能力。Spark也可以不依賴于第三方的資源管理和調(diào)度器,它實現(xiàn)了Standalone作為其內(nèi)置的資源管理和調(diào)度框架,這樣進一步降低了Spark的使用門檻,使得所有人都可以非常容易地部署和使用Spark。此外,Spark還提供了在EC2上部署Standalone的Spark集群的工具。

四、 Spark適用場景

我們大致把Spark的用例分為兩類:數(shù)據(jù)科學(xué)應(yīng)用和數(shù)據(jù)處理應(yīng)用。也就對應(yīng)的有兩種人群:數(shù)據(jù)科學(xué)家和工程師。

1、數(shù)據(jù)科學(xué)任務(wù)
主要是數(shù)據(jù)分析領(lǐng)域,數(shù)據(jù)科學(xué)家要負責分析數(shù)據(jù)并建模,具備 SQL、統(tǒng)計、預(yù)測建模(機器學(xué)習(xí))等方面的經(jīng)驗,以及一定的使用 Python、 Matlab 或 R 語言進行編程的能力。

2、數(shù)據(jù)處理應(yīng)用
工程師定義為使用 Spark 開發(fā) 生產(chǎn)環(huán)境中的數(shù)據(jù)處理應(yīng)用的軟件開發(fā)者,通過對接Spark的API實現(xiàn)對處理的處理和轉(zhuǎn)換等任務(wù)。

總結(jié)

以上是生活随笔為你收集整理的Spark-大规模数据处理计算引擎的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。