国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

如何高效的學(xué)習(xí)Apache Spark?

網(wǎng)友解答: Spark定義a.是一個通用的大規(guī)模數(shù)據(jù)快速處理引擎。b.Spark就是一個大數(shù)據(jù)分布式處理框架。3.Spark在性能和方案的統(tǒng)一性都具有顯著的優(yōu)勢。Spark使用Spark

網(wǎng)友解答:

Spark定義

a.是一個通用的大規(guī)模數(shù)據(jù)快速處理引擎。

b.Spark就是一個大數(shù)據(jù)分布式處理框架。

3.Spark在性能和方案的統(tǒng)一性都具有顯著的優(yōu)勢。

Spark使用SparkSQL、Spark Streaming、MLlib、Graph幾乎完美地解決了大數(shù)據(jù)中的Batch Processing、Stream Processing、Ad-hocQuery(即席查詢)等三大核心問題。如何學(xué)習(xí)Spark配置spark環(huán)境:先安裝linux,java,Scala,spark等軟件,配置環(huán)境變量,搭建集群。建議你先熟悉一下linux系統(tǒng)。學(xué)習(xí)scala語言 ,函數(shù)式編程,這些有點(diǎn)難度。我是學(xué)java過來的,感覺很不適應(yīng),語法感覺很怪,需要冷靜下來好好學(xué)習(xí),trait ,object 伴生對象,柯里化等概念還是需要好好理解的,他也有很多好處,比如apply()方法,很方便的新建一個對象那個,用得多了,就覺得很好用,我現(xiàn)在就覺得很好用,學(xué)過java好理解一些,本質(zhì)一樣,表達(dá)方式不同而已。建議您學(xué)習(xí)一下java。spark學(xué)習(xí),最好學(xué)習(xí)spark的方式就是看官方文檔,跟著官方文檔過一遍手,基本就理解的差不多啦,接下來用idea集成編程完成的程序,調(diào)試測試等,基本就可以上手啦!接下深入理解就看源碼,深入Spark內(nèi)核,通過源碼掌握Spark的任務(wù)提交過程,掌握Spark集群的任務(wù)調(diào)度,尤其要精通DAGScheduler、TaskScheduler和Worker節(jié)點(diǎn)內(nèi)部的工作的每一步的細(xì)節(jié)。

基于Spark上的核心框架的使用,學(xué)習(xí)SparkSQL(關(guān)系型操作)、Spark Streaming(實(shí)時(shí)處理)、MLlib(機(jī)器學(xué)習(xí))、GraphX(圖處理)這些。

我們使用spark一般都使用Yarn框架,所以我覺得還需要學(xué)些Hadoop學(xué)習(xí)。有hdfs和mr(現(xiàn)在是YARN)組成,有興趣可以看https://www.toutiao.com/i6506428976062267907/這篇文章

場景

Spark是一個分布式內(nèi)存型計(jì)算框架,吸收MR的優(yōu)點(diǎn),以RDD數(shù)據(jù)來表示模型,提供多種算子,例如map|filter|flatMap|sample|groupByKey|reduceByKey|union|join等,并將中間數(shù)據(jù)放到內(nèi)存中,使得迭代運(yùn)算效率更高,更適合于實(shí)時(shí)計(jì)算|交互式計(jì)算或者要求計(jì)算量大、效率要求高等場景。與Yarn的結(jié)合,使得Spark可以與MR運(yùn)行與同一個集群中,共享存儲資源與計(jì)算資源,不斷完善的SparkSQL,可以與Hive兼容,大大增強(qiáng)了Spark的應(yīng)用范圍及優(yōu)越性。

Spark是基于內(nèi)存的迭代計(jì)算框架,適用于需要多次操作特定數(shù)據(jù)集的應(yīng)用場合。需要反復(fù)操作的次數(shù)越多,所需讀取的數(shù)據(jù)量越大,受益越大,數(shù)據(jù)量小但是計(jì)算密集度較大的場合,受益就相對較小。

總的來說Spark的適用面比較廣泛且比較通用。

Spark的特點(diǎn)

a.快速基于內(nèi)存計(jì)算速度是MR的100倍,基于磁盤計(jì)算的速度是MR的10倍

快的原因是:Spark有一個DAG(有向無環(huán)圖)執(zhí)行引擎,支持循環(huán)數(shù)據(jù)流和內(nèi)存計(jì)算。

b.易用

提供多語言的API,能快速實(shí)現(xiàn)應(yīng)用,相比MR有簡潔的代碼,安裝部署簡單

c.通用

提供一個強(qiáng)大的技術(shù)棧,包括查詢語言SparkSQL、實(shí)時(shí)流處理工具Spark Streaming、機(jī)器學(xué)習(xí)工具M(jìn)Llib、圖計(jì)算工具GraphX, Spark的目的在于構(gòu)建一個結(jié)構(gòu)上一體化功能上多元化的高效數(shù)據(jù)流水線技術(shù)棧。

d.集成Hadoop

Spark可以運(yùn)行在YARN上,可以讀取Hadoop的任何數(shù)據(jù)

下面是Spark生態(tài)系統(tǒng)

Spark Core:它包含Spark的基本功能(任務(wù)調(diào)度、內(nèi)存管理、故障恢復(fù)以及存儲系統(tǒng)的交互),包含RDD|Stage|DAG|它的核心思想就是將數(shù)據(jù)緩存在內(nèi)存中,并用Lineage機(jī)制容錯。

a.RDD:

Resilient Distributed DataSets,是分布式只讀的且已分區(qū)的集合對象。

這些集合是彈性的,如果數(shù)據(jù)集的一部分丟失,則可以對它們進(jìn)行重建。

具有自動容錯|位置感知調(diào)度|可伸縮性的特點(diǎn)。

對于記錄數(shù)據(jù)的更新,RDD也只支持粗粒度的轉(zhuǎn)換(記錄如何從其他RDD轉(zhuǎn)換而來即Lineage,以便恢復(fù)丟失的分區(qū))

數(shù)據(jù)集容錯的兩種方式:數(shù)據(jù)檢查點(diǎn)(成本高,服務(wù)器之間的傳輸?shù)膯栴})和記錄數(shù)據(jù)的更新。

Spark大數(shù)據(jù)處理框架

1.Spark速度快的原因

a.統(tǒng)一的RDD抽象和操作:Spark基于RDD抽象,使得Spark的框架輕而易舉地使用Spark Core中的所有內(nèi)容, 并且各個框架可以在內(nèi)存中無縫地集成和完成系統(tǒng)任務(wù)。

b.Spark是基于統(tǒng)一的技術(shù)堆棧。

2.基于內(nèi)存的迭代式計(jì)算

MR在每次執(zhí)行時(shí)都要從磁盤讀數(shù)據(jù),計(jì)算完畢之后都要把數(shù)據(jù)存放在磁盤上。

Spark是基于內(nèi)存的,每次運(yùn)算都是在內(nèi)存中計(jì)算的。

3.DAG

a.是另外一個快的重要原因

b.基于RDD,Spark具備了非常精致的作業(yè)調(diào)度系統(tǒng)

c.DAG中的依賴有寬依賴和窄依賴之分,DAG可以根據(jù)依賴對pipeline等進(jìn)行優(yōu)化操作

d.基于RDD和DAG并行計(jì)算整個Job.

4.出色的容錯機(jī)制

a.基于DAG圖,lineage是輕量級且高效的

b.操作之間相互具備lineage的關(guān)系,每個操作只關(guān)系其父操作,各個分片的數(shù)據(jù)之間互不影響,

出現(xiàn)錯誤時(shí)只要恢復(fù)單個split的特定部分

覺得spark挺好用的,但是有一些場景還是不適用

歡迎各位大神來指點(diǎn)

標(biāo)簽: