国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Spark大數(shù)據(jù)處理講課筆記3.7 Spark任務(wù)調(diào)度

這篇具有很好參考價(jià)值的文章主要介紹了Spark大數(shù)據(jù)處理講課筆記3.7 Spark任務(wù)調(diào)度。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

零、本節(jié)學(xué)習(xí)目標(biāo)

  1. 理解DAG概念
  2. 了解Stage劃分
  3. 了解RDD在Spark中的運(yùn)行流程

一、有向無環(huán)圖

(一)DAG概念

  • DAG(Directed Acyclic Graph)叫做有向無環(huán)圖,Spark中的RDD通過一系列的轉(zhuǎn)換算子操作和行動(dòng)算子操作形成了一個(gè)DAG。DAG是一種非常重要的圖論數(shù)據(jù)結(jié)構(gòu)。如果一個(gè)有向圖無法從任意頂點(diǎn)出發(fā)經(jīng)過若干條邊回到該點(diǎn),則這個(gè)圖就是有向無環(huán)圖。“4→6→1→2”是一條路徑,“4→6→5”也是一條路徑,并且圖中不存在從頂點(diǎn)經(jīng)過若干條邊后能回到該點(diǎn)。
    Spark大數(shù)據(jù)處理講課筆記3.7 Spark任務(wù)調(diào)度

(二)實(shí)例講解

  • 根據(jù)RDD之間依賴關(guān)系的不同可將DAG劃分成不同的Stage(調(diào)度階段)。對(duì)窄依賴來說,RDD分區(qū)的轉(zhuǎn)換處理是在一個(gè)線程里完成,所以窄依賴會(huì)被Spark劃分到同一個(gè)Stage中;而對(duì)寬依賴來說,由于有Shuffle存在,所以只能在父RDD處理完成后,下一個(gè)Stage才能開始接下來的計(jì)算,因此寬依賴是劃分Stage的依據(jù),當(dāng)RDD進(jìn)行轉(zhuǎn)換操作,遇到寬依賴類型的轉(zhuǎn)換操作時(shí),就劃為一個(gè)Stage。
    Spark大數(shù)據(jù)處理講課筆記3.7 Spark任務(wù)調(diào)度
  • A、C、E是三個(gè)RDD的實(shí)例
  • 當(dāng)A做groupByKey轉(zhuǎn)換操作生成B時(shí),由于groupByKey轉(zhuǎn)換操作屬于寬依賴類型,所以就把A劃分為一個(gè)Stage,如Stage1。
  • 當(dāng)C做map轉(zhuǎn)換操作生成D, D與E做union轉(zhuǎn)換操作生成F。由于map和union轉(zhuǎn)換操作都屬于窄依賴類型,因此不進(jìn)行Stage的劃分,而是將C、D、E、F加入到同一個(gè)Stage中。
  • 當(dāng)F與B進(jìn)行join轉(zhuǎn)換操作時(shí),由于這時(shí)的join操作是非協(xié)同劃分,所以屬于寬依賴,因此會(huì)劃分為一個(gè)Stage,如Stage2。
  • 剩下的B和G被劃分為一個(gè)Stage,如Stage3。

二、Stage劃分依據(jù)

  • Spark會(huì)根據(jù)DAG將整個(gè)計(jì)算劃分為多個(gè)階段,每個(gè)階段稱為一個(gè)Stage。每個(gè)Stage由多個(gè)Task任務(wù)并行進(jìn)行計(jì)算,每個(gè)Task任務(wù)作用在一個(gè)分區(qū)上,一個(gè)Stage的總Task任務(wù)數(shù)量是由Stage中最后一個(gè)RDD的分區(qū)個(gè)數(shù)決定的。
  • Stage的劃分依據(jù)為是否有寬依賴,即是否有Shuffle。Spark調(diào)度器會(huì)從DAG圖的末端向前進(jìn)行遞歸劃分,遇到Shuffle則進(jìn)行劃分,Shuffle之前的所有RDD組成一個(gè)Stage,整個(gè)DAG圖為一個(gè)Stage。

(一)兩階段案例

  • 經(jīng)典的單詞計(jì)數(shù)執(zhí)行流程的Stage劃分如下圖所示。
    Spark大數(shù)據(jù)處理講課筆記3.7 Spark任務(wù)調(diào)度
  • 上圖中的依賴關(guān)系一共可以劃分為兩個(gè)Stage:從后向前進(jìn)行遞歸劃分,RDD3到RDD4的轉(zhuǎn)換是Shuffle操作,因此在RDD3與RDD4之間劃開,繼續(xù)向前查找,RDD1、RDD2、RDD3之間的關(guān)系為窄依賴,因此為一個(gè)Stage;整個(gè)轉(zhuǎn)換過程為一個(gè)Stage。

(二)三階段案例

  • 下圖中的依賴關(guān)系一共可以劃分為3個(gè)Stage:從后向前進(jìn)行遞歸劃分,由于RDD6到RDD7的轉(zhuǎn)換是Shuffle操作,因此在RDD6與RDD7之間劃開,然后繼續(xù)向前查找,RDD3、RDD4、RDD5、RDD6為一個(gè)Stage;由于RDD1到RDD2的轉(zhuǎn)換是Shuffle操作,因此在RDD1與RDD2之間劃開,然后繼續(xù)向前查找,RDD1為一個(gè)Stage;整個(gè)轉(zhuǎn)換過程為一個(gè)Stage。
    Spark大數(shù)據(jù)處理講課筆記3.7 Spark任務(wù)調(diào)度

三、RDD在Spark中的運(yùn)行流程

  • Spark的任務(wù)調(diào)度流程,即RDD在Spark中的運(yùn)行流程分為RDD Objects、DAGScheduler、TaskScheduler以及Worker四個(gè)部分。
    Spark大數(shù)據(jù)處理講課筆記3.7 Spark任務(wù)調(diào)度

(一)RDD Objects

  • 當(dāng)RDD對(duì)象創(chuàng)建后,SparkContext會(huì)根據(jù)RDD對(duì)象構(gòu)建DAG有向無環(huán)圖,然后將Task提交給DAGScheduler。

(二)DAGScheduler

  • 將作業(yè)的DAG劃分成不同Stage,每個(gè)Stage都是TaskSet任務(wù)集合,并以TaskSet為單位提交給TaskScheduler。

(三)TaskScheduler

  • 通過TaskSetManager管理Task,并通過集群中的資源管理器把Task發(fā)給集群中Worker的Executor。

(四)Worker

  • Spark集群中的Worker接收到Task后,把Task運(yùn)行在Executor進(jìn)程中,一個(gè)進(jìn)程中可以有多個(gè)線程在工作,從而可以處理多個(gè)數(shù)據(jù)分區(qū)。

文章來源地址http://www.zghlxwxcb.cn/news/detail-489523.html

到了這里,關(guān)于Spark大數(shù)據(jù)處理講課筆記3.7 Spark任務(wù)調(diào)度的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Spark大數(shù)據(jù)處理講課筆記4.2 Spark SQL數(shù)據(jù)源 - 基本操作

    Spark大數(shù)據(jù)處理講課筆記4.2 Spark SQL數(shù)據(jù)源 - 基本操作

    ? 目錄 零、本講學(xué)習(xí)目標(biāo) 一、基本操作 二、默認(rèn)數(shù)據(jù)源 (一)默認(rèn)數(shù)據(jù)源Parquet (二)案例演示讀取Parquet文件 1、在Spark Shell中演示 2、通過Scala程序演示 三、手動(dòng)指定數(shù)據(jù)源 (一)format()與option()方法概述 (二)案例演示讀取不同數(shù)據(jù)源 1、讀取房源csv文件 2、讀取json,保

    2024年02月09日
    瀏覽(26)
  • Spark大數(shù)據(jù)處理學(xué)習(xí)筆記(2.2)搭建Spark Standalone集群

    Spark大數(shù)據(jù)處理學(xué)習(xí)筆記(2.2)搭建Spark Standalone集群

    一、在master虛擬機(jī)上安裝配置Spark 1.1 將spark安裝包上傳到master虛擬機(jī) 下載Spark:pyw2 進(jìn)入/opt目錄,查看上傳的spark安裝包 1.2 將spark安裝包解壓到指定目錄 執(zhí)行命令: tar -zxvf spark-3.3.2-bin-hadoop3.tgz 修改文件名:mv spark-3.3.2-bin-hadoop3 spark-3.3.2 1.3 配置spark環(huán)境變量 執(zhí)行命令:vim

    2024年02月09日
    瀏覽(25)
  • Spark大數(shù)據(jù)處理學(xué)習(xí)筆記(3.1)掌握RDD的創(chuàng)建

    文章目錄 一、準(zhǔn)備工作 1.1 準(zhǔn)備文件 1.1.1 準(zhǔn)備本地系統(tǒng)文件 在/home目錄里創(chuàng)建test.txt 單詞用空格分隔 1.1.2 啟動(dòng)HDFS服務(wù) 執(zhí)行命令:start-dfs.sh 1.1.3 上傳文件到HDFS 將test.txt上傳到HDFS的/park目錄里 查看文件內(nèi)容 1.2 啟動(dòng)Spark Shell 1.2.1 啟動(dòng)Spark服務(wù) 執(zhí)行命令:start-all.sh 1.2.2 啟動(dòng)Sp

    2024年02月09日
    瀏覽(21)
  • Spark大數(shù)據(jù)處理學(xué)習(xí)筆記(3.2.2)掌握RDD算子

    Spark大數(shù)據(jù)處理學(xué)習(xí)筆記(3.2.2)掌握RDD算子

    銜接上文:http://t.csdn.cn/Z0Cfj 功能: reduce()算子按照傳入的函數(shù)進(jìn)行歸約計(jì)算 案例: 計(jì)算1 + 2 + 3 + …+100的值 計(jì)算1 × 2 × 3 × 4 × 5 × 6 的值(階乘 - 累乘) 計(jì)算1 2 + 2 2 + 3 2 + 4 2 + 5**2的值(先映射,后歸約) 功能: collect()算子向Driver以數(shù)組形式返回?cái)?shù)據(jù)集的所有元素。通常對(duì)

    2024年02月08日
    瀏覽(26)
  • Spark大數(shù)據(jù)處理學(xué)習(xí)筆記(2.4)IDEA開發(fā)詞頻統(tǒng)計(jì)項(xiàng)目

    Spark大數(shù)據(jù)處理學(xué)習(xí)筆記(2.4)IDEA開發(fā)詞頻統(tǒng)計(jì)項(xiàng)目

    該文章主要為完成實(shí)訓(xùn)任務(wù),詳細(xì)實(shí)現(xiàn)過程及結(jié)果見【http://t.csdn.cn/0qE1L】 從Scala官網(wǎng)下載Scala2.12.15 - https://www.scala-lang.org/download/2.12.15.html 安裝在默認(rèn)位置 安裝完畢 在命令行窗口查看Scala版本(必須要配置環(huán)境變量) 啟動(dòng)HDFS服務(wù) 啟動(dòng)Spark集群 在master虛擬機(jī)上創(chuàng)建單詞文件

    2024年02月08日
    瀏覽(34)
  • 【大廠AI課學(xué)習(xí)筆記】【2.2機(jī)器學(xué)習(xí)開發(fā)任務(wù)實(shí)例】(3)數(shù)據(jù)準(zhǔn)備和數(shù)據(jù)預(yù)處理

    【大廠AI課學(xué)習(xí)筆記】【2.2機(jī)器學(xué)習(xí)開發(fā)任務(wù)實(shí)例】(3)數(shù)據(jù)準(zhǔn)備和數(shù)據(jù)預(yù)處理

    項(xiàng)目開始,首先要進(jìn)行數(shù)據(jù)準(zhǔn)備和數(shù)據(jù)預(yù)處理。 數(shù)據(jù)準(zhǔn)備的核心是找到這些數(shù)據(jù),觀察數(shù)據(jù)的問題。 數(shù)據(jù)預(yù)處理就是去掉臟數(shù)據(jù)。 缺失值的處理,格式轉(zhuǎn)換等。 延伸學(xué)習(xí): 在人工智能(AI)的眾多工作流程中,數(shù)據(jù)準(zhǔn)備與預(yù)處理占據(jù)著舉足輕重的地位。這兩個(gè)步驟不僅影響

    2024年02月19日
    瀏覽(29)
  • Spark重溫筆記(四):秒級(jí)處理龐大數(shù)據(jù)量的 SparkSQL 操作大全,能否成為你的工作備忘指南?

    前言:今天是溫習(xí) Spark 的第 4 天啦!主要梳理了 SparkSQL 工作中常用的操作大全,以及演示了幾個(gè)企業(yè)級(jí)案例,希望對(duì)大家有幫助! Tips:\\\"分享是快樂的源泉??,在我的博客里,不僅有知識(shí)的海洋??,還有滿滿的正能量加持??,快來和我一起分享這份快樂吧??! 喜歡我的博

    2024年04月11日
    瀏覽(30)
  • 大數(shù)據(jù)處理:利用Spark進(jìn)行大規(guī)模數(shù)據(jù)處理

    大數(shù)據(jù)處理是指對(duì)大規(guī)模、高速、多源、多樣化的數(shù)據(jù)進(jìn)行處理、分析和挖掘的過程。隨著互聯(lián)網(wǎng)、人工智能、物聯(lián)網(wǎng)等領(lǐng)域的發(fā)展,大數(shù)據(jù)處理技術(shù)已經(jīng)成為當(dāng)今科技的核心技術(shù)之一。Apache Spark是一個(gè)開源的大數(shù)據(jù)處理框架,它可以處理批量數(shù)據(jù)和流式數(shù)據(jù),并提供了一系

    2024年03月22日
    瀏覽(22)
  • 【spark大數(shù)據(jù)】spark大數(shù)據(jù)處理技術(shù)入門項(xiàng)目--購(gòu)物信息分析

    【spark大數(shù)據(jù)】spark大數(shù)據(jù)處理技術(shù)入門項(xiàng)目--購(gòu)物信息分析

    購(gòu)物信息分析基于spark 目錄 本案例中三個(gè)文案例中需要處理的文件為 order_goods.txt、products.txt 以及 orders.txt 三個(gè)文件,三個(gè)文件的說明如下 一、本實(shí)訓(xùn)項(xiàng)目針對(duì)實(shí)驗(yàn)數(shù)據(jù)主要完成了哪些處理? 二、Hadoop+Spark集群環(huán)境的搭建步驟有哪些?(只介紹完全分布式集群環(huán)境的搭建)

    2023年04月08日
    瀏覽(30)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包