自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Spark 性能調(diào)優(yōu)核心原理,你會嗎?

開發(fā) 架構(gòu) Spark
所謂內(nèi)存計算,不僅僅是指數(shù)據(jù)可以緩存在內(nèi)存中,更重要的是,通過計算的融合來大幅提升數(shù)據(jù)在內(nèi)存中的轉(zhuǎn)換效率,進(jìn)而從整體上提升應(yīng)用的執(zhí)行性能。

[[441977]]

用了這么久spark了,今天總結(jié)下他的一些優(yōu)化方面的核心原理,今天我們分這么幾個方面來談:

一.RDD

RDD是彈性分布式數(shù)據(jù)集的簡稱,他是其他后來者,比如DataFrame,DataSet等的基礎(chǔ)。他有四大核心屬性,如下所示。

這4 大屬性又可以劃分為兩類,橫向?qū)傩院涂v向?qū)傩?。其中,橫向?qū)傩藻^定數(shù)據(jù)分片實體,并規(guī)定了數(shù)據(jù)分片在分布式集群中如何分布。

縱向?qū)傩杂糜谠诳v深方向構(gòu)建 DAG,通過提供重構(gòu) RDD 的容錯能力保障內(nèi)存計算的穩(wěn)定性。

其實RDD還有個特性:優(yōu)先位置列表.算上他總共有5大特性。白話文總結(jié)就是:3個列表,2個函數(shù)。3個列表是分區(qū)列表,依賴列表和優(yōu)先位置列表;2個函數(shù)就是:計算函數(shù)和分區(qū)函數(shù)。

二.內(nèi)存計算

在 Spark 中,內(nèi)存計算有兩層含義:第一層含義就是眾所周知的分布式數(shù)據(jù)緩存,第二層含義是 Stage 內(nèi)的流水線式計算模式。

流水線計算模式指的是:在同一 Stage 內(nèi)部,所有算子融合為一個函數(shù),Stage 的輸出結(jié)果由這個函數(shù)一次性作用在輸入數(shù)據(jù)集而產(chǎn)生。

所謂內(nèi)存計算,不僅僅是指數(shù)據(jù)可以緩存在內(nèi)存中,更重要的是,通過計算的融合來大幅提升數(shù)據(jù)在內(nèi)存中的轉(zhuǎn)換效率,進(jìn)而從整體上提升應(yīng)用的執(zhí)行性能。

比如這個栗子:

如圖所示,在上面的計算流程中,如果你把流水線看作是內(nèi)存,每一步操作過后都會生成臨時數(shù)據(jù),如圖中的 clean 和 slice,這些臨時數(shù)據(jù)都會緩存在內(nèi)存里。但在下面的內(nèi)存計算中,所有操作步驟如 clean、slice、bake,都會被捏合在一起構(gòu)成一個函數(shù)。這個函數(shù)一次性地作用在“帶泥土豆”上,直接生成“即食薯片”,在內(nèi)存中不產(chǎn)生任何中間數(shù)據(jù)形態(tài)。

補(bǔ)充下:從程序員的視角出發(fā),DAG 的構(gòu)建是通過在分布式數(shù)據(jù)集上不停地調(diào)用算子來完成的,DAG 以 Actions 算子為起點(diǎn),從后向前回溯,以 Shuffle 操作為邊界,劃分出不同的 Stages。同一 Stage 內(nèi)所有算子融合為一個函數(shù),Stage 的輸出結(jié)果由這個函數(shù)一次性作用在輸入數(shù)據(jù)集而產(chǎn)生。

 

責(zé)任編輯:武曉燕 來源: 記錄技術(shù)記錄我
相關(guān)推薦

2019-07-17 15:45:24

Spark內(nèi)存Java

2021-03-04 08:39:21

SparkRDD調(diào)優(yōu)

2018-07-18 12:12:20

Spark大數(shù)據(jù)代碼

2017-07-07 11:01:04

Spark性能調(diào)優(yōu)

2017-10-20 13:41:11

Spark集群代碼

2023-06-05 09:17:50

SQLAlchemy關(guān)系型數(shù)據(jù)庫

2020-11-09 07:34:49

JVM性能監(jiān)控

2017-07-21 08:55:13

TomcatJVM容器

2012-06-20 11:05:47

性能調(diào)優(yōu)攻略

2013-03-21 11:20:00

性能測試性能調(diào)優(yōu)測試

2018-08-24 07:17:41

Spark大數(shù)據(jù)調(diào)優(yōu)

2011-03-10 14:40:54

LAMPMysql

2020-09-03 14:30:40

Tomcat 拆解調(diào)優(yōu)

2011-11-14 10:28:23

2020-11-30 11:40:35

NginxLinux性能調(diào)優(yōu)

2011-05-20 15:02:01

Oracle性能調(diào)優(yōu)

2011-03-18 11:21:48

2009-09-04 17:57:15

Glassfish性能Java EE

2021-11-07 23:49:19

SQL數(shù)據(jù)庫工具

2010-09-26 10:53:00

JVM內(nèi)存調(diào)優(yōu)設(shè)置
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號