原创 Spark 源碼分析(三): SparkContext 初始化之 TaskScheduler 創建與啓動

前面已經分析到了 driver 進程成功在某臺 worker 上啓動了,下面就開始執行我們寫的那些代碼了。以一個 wordcount 程序爲例,代碼如下: val conf = new SparkConf() .se

原创 Spark 源碼分析(五): Executor 啓動

上一篇已經將 Application 註冊到了 master 上了,在 master 收到註冊消息後會進行一系列操作,最後調用 schedule 方法。 這個 schedule 方法會去做兩件事,一件事是給等待調度的 driver

原创 Spark 源碼分析(一):Spark Submit 任務提交

研究 Spark 內部是怎麼運行的,怎麼將 Spark 的任務從開始運行到結束的,先從 spark-submit 這個 shell 腳本提交用戶程序開始。下面的分析都是基於 spark 2.1.1 版本。 我們一般提交 Spark

原创 Spark 中的 RPC

Spark 是一個 通用的分佈式計算系統,既然是分佈式的,必然存在很多節點之間的通信,那麼 Spark 不同組件之間就會通過 RPC(Remote Procedure Call)進行點對點通信。 Spark 的 RPC 主要在兩個

原创 Spark 的一些名詞術語

摘抄官網關於 Spark 中常用的一些名詞術語: Term Meaning Application User program built on Spark. Consists of a driver program

原创 Intellij IDEA 清除無用 import 快捷鍵以及自動清除設置

Mac OS 下快捷鍵設置都在:Intellij IDEA -> preferences -> Keymap 下面,設置清除無用 import 的 key 爲 「optimize imports」,其默認快捷鍵爲:ctrl + o

原创 java 爲什麼要重寫 hashCode 和 equals 方法

轉自:https://blog.csdn.net/zknxx/article/details/53862572 一、如果不被重寫(原生)的 hashCode 和 equals 是什麼樣的? 不被重寫(原生)的 hashCode

原创 Spark 共享變量

翻譯 Spark 共享變量部分的官方文檔(Spark 2.4.3)。 通常,當傳遞給 Spark 操作 (如 map 或 reduce ) 的函數在遠程集羣節點上執行時,在函數中使用的所有外部變量都是單獨拷貝的變量副本。這些變量被

原创 Spark SQL 中 UDF 和 UDAF 的使用

Spark SQL 支持 Hive 的 UDF(User defined functions) 和 UDAF(User defined aggregation functions) UDF 傳入參數只能是表中的 1 行數據(可以是

原创 Mac 上啓動開啓 sshd 服務

問題: 用 ssh 遠程連接 Mac 電腦時候出現 ssh: connect to host localhost port 22: Connection refused 拒絕連接的錯誤。 解決方案: 1,首先看一下本地是否開啓了

原创 ssh 遠程連接的兩種驗證方式

SSH 爲 Secure Shell 的縮寫,由 IETF 的網絡小組(Network Working Group)所制定;SSH 爲建立在應用層基礎上的安全協議。其目的是實現安全遠程登錄以及其它安全網絡服務。 從客戶端來看,SS

原创 git 指令:丟棄本地所有未提交的更改

指令: git clean -df //丟棄所有 untracked 的文件 git reset --hard //將 tracked 的文件重置到前一個版本

原创 Spark 的 cogroup 和 join 算子

cogroup 這個算子使用的頻率很低,join 算子使用頻率較高,兩者都是根據兩個 RDD 的 key 進行關聯。具體看下面的代碼,先看下面的 2 個 RDD: SparkConf conf = new SparkConf()

原创 Spark:failure: ``union'' expected but `(' found

問題: Spark 1.5.1 本地使用 SQLContext 報錯: failure: ``union'' expected but `(' found 這個報錯在位置在開窗函數執行語句處。 原因及解決方法: 從 Spark

原创 社保查詢或者轉移的一些事

上海查詢社保的網站:上海一網通辦 一,養老保險: 養老保險繳納的費用分成兩部分,一部分是個人繳納的,這部分錢進入個人賬戶,可以隨你的工作城市轉移,另一部分是公司繳納的,這部分錢不會進個人賬戶,會打到當地統籌賬戶中,用於退休老人養老