偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

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

[[441977]]

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

一.RDD

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

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

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

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

二.內(nèi)存計(jì)算

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

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

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

比如這個(gè)栗子:

如圖所示,在上面的計(jì)算流程中,如果你把流水線看作是內(nèi)存,每一步操作過后都會(huì)生成臨時(shí)數(shù)據(jù),如圖中的 clean 和 slice,這些臨時(shí)數(shù)據(jù)都會(huì)緩存在內(nèi)存里。但在下面的內(nèi)存計(jì)算中,所有操作步驟如 clean、slice、bake,都會(huì)被捏合在一起構(gòu)成一個(gè)函數(shù)。這個(gè)函數(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)所有算子融合為一個(gè)函數(shù),Stage 的輸出結(jié)果由這個(gè)函數(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ù)代碼

2023-06-05 09:17:50

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

2017-07-07 11:01:04

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

2017-10-20 13:41:11

Spark集群代碼

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

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

2018-08-24 07:17:41

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

2011-03-10 14:40:54

LAMPMysql

2011-05-20 15:02:01

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

2011-11-14 10:28:23

2020-11-30 11:40:35

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

2020-09-03 14:30:40

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

2011-03-18 11:21:48

2009-09-04 17:57:15

Glassfish性能Java EE

2013-02-28 10:15:14

Ubuntu性能調(diào)優(yōu)故障排查

2012-06-21 09:43:45

點(diǎn)贊
收藏

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