原创 深入理解Spark RDD——爲什麼需要RDD?

RDD(Resilient Distributed Datasets,彈性分佈式數據集)代表可並行操作元素的不可變分區集合。對於Spark的初學者來說,這個概念會十分陌生。即便是對於一些有Spark使用經驗的人,要想說清楚什麼是RDD,以

原创 Spark2.1.0——Executor動態分配的實現原理

         ExecutorAllocationManager的作用已在《Spark2.1.0——SparkContext概述》一文有過介紹,更爲準確地說,ExecutorAllocationManager是基於工作負載動態分配和刪

原创 深入理解Spark RDD——RDD實現的初次分析

RDD(Resilient Distributed Datasets,彈性分佈式數據集)代表可並行操作元素的不可變分區集合。對於Spark的初學者來說,這個概念會十分陌生。即便是對於一些有Spark使用經驗的人,要想說清楚什麼是RDD,以

原创 深入理解Spark RDD——RDD分區計算器Partitioner

在《深入理解Spark RDD——RDD依賴(構建DAG的關鍵)》一文,詳細描述了RDD的寬窄依賴。RDD之間的依賴關係如果是Shuffle依賴,那麼上游RDD該如何確定每個分區的輸出將交由下游RDD的哪些分區呢?或者下游RDD的各個分區

原创 深入理解Spark RDD——RDD信息對象

RDDInfo用於描述RDD的信息,RDDInfo提供的信息如下: id:RDD的id。 name:RDD的名稱。 numPartitions:RDD的分區數量。 storageLevel:RDD的存儲級別(即StorageLevel)。

原创 深入理解Spark RDD——RDD依賴(構建DAG的關鍵)

在《深入理解Spark RDD——爲什麼需要RDD?》一文我們解釋了爲什麼需要RDD,並且在《深入理解Spark RDD——RDD實現的初次分析》一文對RDD進行了基本的分析,本文將繼續對RDD的依賴實現進行分析。正是由於RDD之間具有依

原创 Spark2.1.0——RDD實現的初次分析

RDD(Resilient Distributed Datasets,彈性分佈式數據集)代表可並行操作元素的不可變分區集合。對於Spark的初學者來說,這個概念會十分陌生。即便是對於一些有Spark使用經驗的人,要想說清楚什麼是RDD,以

原创 Spark2.1.0——爲什麼需要RDD?

RDD(Resilient Distributed Datasets,彈性分佈式數據集)代表可並行操作元素的不可變分區集合。對於Spark的初學者來說,這個概念會十分陌生。即便是對於一些有Spark使用經驗的人,要想說清楚什麼是RDD,以

原创 Spark2.1.0——廣播管理器BroadcastManager

       BroadcastManager用於將配置信息和序列化後的RDD、Job以及ShuffleDependency等信息在本地存儲。如果爲了容災,也會複製到其他節點上。創建BroadcastManager的代碼實現如下。 va

原创 累計三年,斷斷續續的管理經驗

累計三年,斷斷續續的管理經驗序言一、融入二、豁達三、擔當四、勿好爲人師五、人盡其能六、謙卑七、平等互信八、員工激勵結尾序言在寫標題的時候,本來要寫成《累計三年,斷斷續續的項目管理經驗》。後來想想,以我對管理的認識和感悟,管理好

原创 Spark2.1.0——存儲體系概述

本書在5.7節曾介紹過存儲體系的創建,那時只爲幫助讀者瞭解SparkEnv,現在是時候對Spark的存儲體系進行詳細的分析了。簡單來講,Spark存儲體系是各個Driver、Executor實例中的BlockManager所組成的。但是從

原创 Spark常見故障診斷(一)

本人維護的Spark主要運行在三個Hadoop集羣上,此外還有其他一些小集羣或者隱私集羣。這些機器加起來有三萬臺左右。目前運維的Spark主要有Spark2.3和Spark1.6兩個版本。用戶在使用的過程中難免會發生各種各樣的問題,爲了對

原创 Spark2.1.0——內置Web框架詳解

Spark2.1.0——內置Web框架詳解   任何系統都需要提供監控功能,否則在運行期間發生一些異常時,我們將會束手無策。也許有人說,可以增加日誌來解決這個問題。日誌只能解決你的程序邏輯在運行期的監控,進而發現Bug,以及提供對業務有幫助

原创 Spark2.1.0——Spark環境更新

閱讀提示:本文是對SparkContext中對用戶通過--jars(或spark.jars)和--files(或spark.files)參數添加的外部資源進行的分析。 用戶提交任務時往往需要添加額外的jar包或其它文件,用戶任務的執行將依

原创 Spark2.1.0——深入理解事件總線

Spark2.1.0——深入理解事件總線 概覽   Spark程序在運行的過程中,Driver端的很多功能都依賴於事件的傳遞和處理,而事件總線在這中間發揮着至關重要的紐帶作用。事件總線通過異步線程,提高了Driver執行的效率。