原创 Spark 源碼分析(六): Executor 向 driver 進行註冊

前一篇文章介紹了 Executor 進程的啓動,最後啓動的是 CoarseGrainedExecutorBackend,執行啓動命令後會執行它的 main 方法,啓動 CoarseGrainedExecutorBackend 進程

原创 SparkSQL 性能調優參數

1,spark.hadoopRDD.ignoreEmptySplits 默認是false,如果是true,則會忽略那些空的splits,減小task的數量。 2,spark.hadoop.mapreduce.input.filei

原创 SparkSQL 中的 hint

SparkSQL 2.2 增加了 Hint Framework 的支持,允許在查詢中加入註釋,讓查詢優化器優化邏輯計劃。目前支持的 hint 有三個:COALESCE、REPARTITION、BROADCAST,其中 COALES

原创 JVM 堆內存模型與 GC 策略

Java 中堆內存是 JVM 管理內存中最大的一塊內存,同時又是 GC 管理的重要區域。 Java 堆內存主要分成兩個區域: 1,年輕代。年輕代內部又分成了兩個區,一個是 Eden 區,一個是 Survivor 區。Survivo

原创 Linux 指令之用戶和密碼

1,修改密碼的指令爲:passwd # passwd Changing password for user root. New password: 按照這個命令可以輸入新密碼。 2,創建用戶的指令爲:useradd user

原创 Linux 指令之安裝軟件

在 Linux 上安裝軟件應該去官網下載比較好,比如去 JDK 的官網下載 JDK ,會給出這樣的下載列表。 對於 Linux 系統來說有三個安裝包可以下載,格式分別爲 rpm 和 deb 和 tar.gz 。tar.gz 是安

原创 hexo 博客遷移

今天把 mac 上的 hexo 博客遷移到 win 電腦上。 1,安裝 git; 2,安裝 Node.js; 3,打開 git bash 客戶端,輸入 npm install hexo-cli -g ,開始安裝 hexo; 4,在

原创 Spark 內存管理詳解(上):內存分配

本文轉自:Spark 內存管理詳解(上)——內存分配 Spark作爲一個基於內存的分佈式計算引擎,其內存管理模塊在整個系統中佔據着非常重要的角色。理解Spark內存管理的基本原理,有助於更好地開發Spark應用程序和進行性能調優。

原创 Spark 內存管理詳解(下):內存管理

本文轉自:Spark內存管理詳解(下)——內存管理 本文最初由IBM developerWorks中國網站發表,其鏈接爲Apache Spark內存管理詳解 在這裏,正文內容分爲上下兩篇來闡述,這是下篇,上一篇請移步博客列表的上一

原创 Spark 源碼分析(九): Task 啓動

前面已經分析到了 DAGScheduler 對 stage 劃分,並對 Task 的最佳位置進行計算之後,通過調用 taskScheduler 的 submitTasks 方法,將每個 stage 的 taskSet 進行提交。

原创 Spark 源碼分析(八):DAGScheduler 源碼分析2(task 最佳位置計算)

前面一篇文章已經講了 DAGScheduler 中的 stage 劃分算法。 實際上就是每當執行到 RDD 的 action 算子時會去調用 DAGScheduler 的 handleJobSubmitted 方法,這個方法內部會

原创 Spark 源碼分析(七): DAGScheduler 源碼分析1(stage 劃分算法)

前面幾篇文章已經說清楚了從 spark 任務提交到 driver 啓動,然後執行 main 方法,初始化 SparkContext 對象。 在初始化 SparkContext 對象的過程中創建了兩個重要組件: 一個是 TaskSc

原创 Spark 源碼分析(二): Driver 註冊及啓動

上一篇文章已經已經執行到 Client 向 masterEndpoint 發送了 RequestSubmitDriver 信息,下面就看看 master 怎麼註冊 driver 信息,並且怎麼讓 worker 去啓動 driver

原创 Spark 源碼解析(六): 向 driver 註冊 Executor

前一篇文章介紹了 Executor 進程的啓動,最後啓動的是 CoarseGrainedExecutorBackend,執行啓動命令後會執行它的 main 方法,啓動 CoarseGrainedExecutorBackend 進程

原创 Spark 源碼分析(四): Application 的註冊

在前面一篇文章中分析到了 SparkContext 中的 TaskScheduler 創建及啓動。 在 StandaloneSchedulerBackend start 代碼裏除了創建了一個 DriverEndpoint 用於