<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                **1. DAG的生成** 根據RDD之間的依賴關系,生成一個DAG(有向無環圖)。 :-: ![](https://img.kancloud.cn/2e/f6/2ef6c26ab6f2996c4d236f58c2b93ca1_896x403.png) DAG生成 <br/> **2. Stage的劃分** DAGScheduler 將DAG劃分為多個Stage。 * 劃分依據:是否發生寬依賴(Shuffle),發生寬依賴則劃分一個Stage。 * 劃分規則:從后往前,遇到寬依賴切割為新的Stage。 * 每個Stage由一組并行的Task組成。 :-: ![](https://img.kancloud.cn/cb/5b/cb5bc7b9a9810e776ef397a567b0832f_1151x447.png) DAG階段劃分 <br/> **3. 任務調度** 任務調度分兩個主要模塊:DAGScheduler 和 TaskScheduler。它們負責將用戶提交的計算任務按照 DAG 劃分為不同的階段并且將不同階段的計算任務提交到集群進行最終的計算。 :-: ![](https://img.kancloud.cn/4d/23/4d233cf4a401f2301ebb1980378776b4_1271x371.png) 任務調度邏輯圖 具體涉及三個主要類: * DAGScheduler:負責分析用戶提交的應用,并根據計算任務的依賴關系建立 DAG,且將 DAG 劃分為不同的 Stage,每個 Stage 可并發執行一組 Task。 * TaskScheduler:DAGScheduler 將劃分完成的 Task(一組任務 TaskSet)提交到 TaskScheduler,TaskScheduler 通過 Cluster Manager 在集群中的某個Worker 的 Executor 上啟動任務。 * SchedulerBackend:每個 TaskScheduler 對應一個 SchedulerBackend,作用是分配當前可用的資源,具體就是向當前等待分配計算資源的 Task 分配計算資源(Executor),并在分配的 Executor 上啟動 Task,完成計算的調度過程。<br/> Spark 中的任務分為兩種:ShuffleMapTask 與 ResultTask。 * ShuffleMapTask:任務所在 Stage 不是最后一個 Stage,即 ShuffleMapState。對于非最后的 Stage,會根據每個 Stage 的分區數量來生成 ShuffleMapTask。ShuffleMapTask 會根據下游 Task 的分區數量和 Shuffle 策略來生成一系列文件。 * ResultTask:任務所在 Stage 是最后一個 Stage,即 ResultStage。對于最后一個Stage,會根據生成結果的分區來生成與分區數量相同的 ResultTask,然后ResultTask 將計算結果匯報到 Driver 端。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看