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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

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

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

一、Spark是什么

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

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

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

1、軟件棧中所有的程序庫(kù)和高級(jí)組件 都可以從下層的改進(jìn)中獲益。

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

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

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

  • Spark Core: 實(shí)現(xiàn)了 Spark 的基本功能,包含任務(wù)調(diào)度、內(nèi)存管理、錯(cuò)誤恢復(fù)、與存儲(chǔ)系統(tǒng) 交互等模塊。Spark Core 中還包含了對(duì)彈性分布式數(shù)據(jù)集(resilient distributed dataset,簡(jiǎn)稱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 提供的對(duì)實(shí)時(shí)數(shù)據(jù)進(jìn)行流式計(jì)算的組件。提供了用來操作數(shù)據(jù)流的 API,并且與 Spark Core 中的 RDD API 高度對(duì)應(yīng)。
  • Spark MLlib: 提供常見的機(jī)器學(xué)習(xí)(ML)功能的程序庫(kù)。包括分類、回歸、聚類、協(xié)同過濾等,還提供了模型評(píng)估、數(shù)據(jù) 導(dǎo)入等額外的支持功能。
  • 集群管理器: Spark 設(shè)計(jì)為可以高效地在一個(gè)計(jì)算節(jié)點(diǎn)到數(shù)千個(gè)計(jì)算節(jié)點(diǎn)之間伸縮計(jì) 算。為了實(shí)現(xiàn)這樣的要求,同時(shí)獲得最大靈活性,Spark 支持在各種集群管理器(cluster manager)上運(yùn)行,包括 Hadoop YARN、Apache Mesos,以及 Spark 自帶的一個(gè)簡(jiǎn)易調(diào)度 器,叫作獨(dú)立調(diào)度器。

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

三、Spark特點(diǎn)


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

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

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

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

四、 Spark適用場(chǎng)景

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

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

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

總結(jié)

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

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