老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)

Spark分區(qū)并行度決定機(jī)制

本篇內(nèi)容主要講解“Spark分區(qū)并行度決定機(jī)制”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Spark分區(qū)并行度決定機(jī)制”吧!

站在用戶的角度思考問題,與客戶深入溝通,找到河?xùn)|網(wǎng)站設(shè)計(jì)與河?xùn)|網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站制作、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名申請(qǐng)虛擬主機(jī)、企業(yè)郵箱。業(yè)務(wù)覆蓋河?xùn)|地區(qū)。

大家都知道Spark job中最小執(zhí)行單位為task,合理設(shè)置Spark job每個(gè)stage的task數(shù)是決定性能好壞的重要因素之一,但是Spark自己確定最佳并行度的能力有限,這就要求我們?cè)诹私馄渲袃?nèi)在機(jī)制的前提下,去各種測試、計(jì)算等來最終確定最佳參數(shù)配比。

Spark任務(wù)在執(zhí)行時(shí)會(huì)將RDD劃分為不同的stage,一個(gè)stage中task的數(shù)量跟最后一個(gè)RDD的分區(qū)數(shù)量相同。之前已經(jīng)介紹過,stage劃分的關(guān)鍵是寬依賴,而寬依賴往往伴隨著shuffle操作。對(duì)于一個(gè)stage接收另一個(gè)stage的輸入,這種操作通常都會(huì)有一個(gè)參數(shù)numPartitions來顯示指定分區(qū)數(shù)。最典型的就是一些ByKey算子,比如groupByKey(numPartitions: Int),但是這個(gè)分區(qū)數(shù)需要多次測試來確定合適的值。首先確定父RDD中的分區(qū)數(shù)(通過rdd.partitions().size()可以確定RDD的分區(qū)數(shù)),然后在此基礎(chǔ)上增加分區(qū)數(shù),多次調(diào)試直至在確定的資源任務(wù)能夠平穩(wěn)、安全的運(yùn)行。  
對(duì)于沒有父RDD的RDD,比如通過加載HDFS上的數(shù)據(jù)生成的RDD,它的分區(qū)數(shù)由InputFormat切分機(jī)制決定。通常就是一個(gè)HDFS block塊對(duì)應(yīng)一個(gè)分區(qū),對(duì)于不可切分文件則一個(gè)文件對(duì)應(yīng)一個(gè)分區(qū)。  

對(duì)于通過SparkContext的parallelize方法或者makeRDD生成的RDD分區(qū)數(shù)可以直接在方法中指定,如果未指定,則參考spark.default.parallelism的參數(shù)配置。下面是默認(rèn)情況下確定defaultParallelism的源碼:
override def defaultParallelism(): Int = {
    conf.getInt("spark.default.parallelism", math.max(totalCoreCount.get(), 2))
}

通常,RDD的分區(qū)數(shù)與其所依賴的RDD的分區(qū)數(shù)相同,除非shuffle。但有幾個(gè)特殊的算子:

1.coalesce和repartition算子

筆者先放兩張關(guān)于該coalesce算子分別在RDD和DataSet中的源碼圖:(DataSet是Spark SQL中的分布式數(shù)據(jù)集,后邊說到Spark時(shí)再細(xì)講)

Spark分區(qū)并行度決定機(jī)制

Spark分區(qū)并行度決定機(jī)制

通過coalesce源碼分析,無論是在RDD中還是DataSet,默認(rèn)情況下coalesce不會(huì)產(chǎn)生shuffle,此時(shí)通過coalesce創(chuàng)建的RDD分區(qū)數(shù)小于等于父RDD的分區(qū)數(shù)。 

筆者這里就不放repartition算子的源碼了,分析起來也比較簡單,圖中我有所提示。但筆者建議,如下兩種情況,請(qǐng)使用repartition算子:

1)增加分區(qū)數(shù)
repartition觸發(fā)shuffle,shuffle的情況下可以增加分區(qū)數(shù)。

coalesce默認(rèn)不觸發(fā)shuffle,即使調(diào)用該算子增加分區(qū)數(shù),實(shí)際情況是分區(qū)數(shù)仍然是當(dāng)前的分區(qū)數(shù)。

2)極端情況減少分區(qū)數(shù),比如將分區(qū)數(shù)減少為1
調(diào)整分區(qū)數(shù)為1,此時(shí)數(shù)據(jù)處理上游stage并行度降,很影響性能。此時(shí)repartition的優(yōu)勢(shì)即不改變?cè)瓉韘tage的并行度就體現(xiàn)出來了,在大數(shù)據(jù)量下,更為明顯。
但需要注意,因?yàn)閞epartition會(huì)觸發(fā)shuffle,而要衡量好shuffle產(chǎn)生的代價(jià)和因?yàn)橛胷epartition增加并行度帶來的效益。

2.union算子

還是直接看源碼:

Spark分區(qū)并行度決定機(jī)制

Spark分區(qū)并行度決定機(jī)制

Spark分區(qū)并行度決定機(jī)制

通過分析源碼,RDD在調(diào)用union算子時(shí),最終生成的RDD分區(qū)數(shù)分兩種情況:
1)union的RDD分區(qū)器已定義并且它們的分區(qū)器相同

多個(gè)父RDD具有相同的分區(qū)器,union后產(chǎn)生的RDD的分區(qū)器與父RDD相同且分區(qū)數(shù)也相同。比如,n個(gè)RDD的分區(qū)器相同且是defined,分區(qū)數(shù)是m個(gè)。那么這n個(gè)RDD最終union生成的一個(gè)RDD的分區(qū)數(shù)仍是m,分區(qū)器也是相同的

2)不滿足第一種情況,則通過union生成的RDD的分區(qū)數(shù)為父RDD的分區(qū)數(shù)之和
4.cartesian算子

通過上述coalesce、repartition、union算子介紹和源碼分析,很容易分析cartesian算子的源碼。通過cartesian得到RDD分區(qū)數(shù)是其父RDD分區(qū)數(shù)的乘積。

Spark分區(qū)并行度決定機(jī)制

在Spark SQL中,任務(wù)并行度參數(shù)則要參考spark.sql.shuffle.partitions,筆者這里先放一張圖,詳細(xì)的后面講到Spark SQL時(shí)再細(xì)說:

Spark分區(qū)并行度決定機(jī)制

看下圖在Spark流式計(jì)算中,通常將SparkStreaming和Kafka整合,這里又分兩種情況:

1.Receiver方式生成的微批RDD即BlockRDD,分區(qū)數(shù)就是block數(shù)

2.Direct方式生成的微批RDD即kafkaRDD,分區(qū)數(shù)和kafka分區(qū)數(shù)一一對(duì)應(yīng)  

到此,相信大家對(duì)“Spark分區(qū)并行度決定機(jī)制”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!


網(wǎng)站題目:Spark分區(qū)并行度決定機(jī)制
瀏覽路徑:http://www.xueling.net.cn/article/pjsspj.html

其他資訊

在線咨詢
服務(wù)熱線
服務(wù)熱線:028-86922220
TOP
主站蜘蛛池模板: 中文字幕免费日韩 | 高清黄色一级片 | 九九九九九九九伊人 | 夜夜躁很很躁日日躁2020 | 国产超91| videosg最新欧美另类 | 日韩国产精品一区 | а∨天堂一区一本到 | 日韩欧美精品在线播放 | 麻豆乱码国产一区二区三区的优势 | 伊人11 | 97性潮久久久久久久久动漫 | 99热网址 | 色噜噜综合亚洲av中文无码 | 天天添天天操 | 中文字幕久久精品一区二区 | 无套内谢少妇毛片A片999 | 成人性生交视频免费看 | 国产麻豆精品在线观看 | 一级黄色香蕉视频 | av在线播放一区二区 | 国色天香一卡2卡三卡4卡乱码 | a一区二区三区亚洲 | 久久国产精华 | 亚洲精品55夜色66夜色 | 亚洲一区二区三区免费视频 | 乱人伦人成品精国产在线 | 亚洲一区二区欧美日韩 | 看片1区| 免费观看啪啪黄的网站 | 亚洲午夜久久久久妓女影院 | 丝袜人妻一区二区三区网站 | 久久99亚洲精品久久 | 三年片高清在线观看八戒 | 自拍偷拍视频亚洲 | 好男人好资源在线观看免费视频 | 国产精品高清网站 | 日本三级在线看一区二区 | 久久国产欧美一区二区精品爱欲 | 国产资源在线观看视频 | 亚洲永久精品一区 |