原创 Spark源碼分析之任務提交流程(Client)

文章目錄提交命令任務提交流程任務提交初流程YarnClusterApplication提交集羣流程提交過程環節彙總用戶Yarn-Cluster提交shell命令提交給SparkSubmit類的cmd命令提交給集羣啓動driver的

原创 Spark源碼分析之AM端運行流程(Driver)

文章目錄先驗知識Yarn啓動AM流程AM啓動Driver流程AM申請Executors流程 先驗知識 接之前文章 Spark源碼分析之任務提交流程 介紹了Client提交Spark任務的源碼分析過程。本文繼續分析Applicati

原创 Yarn源碼分析之事件模型

文章目錄事件模型設計原理AsyncDispatcher的基本結構AsyncDispatcher的初始化AsyncDispatcher的啓動註冊事件處理器分發事件處理器調用事件過程參考 上篇 Yarn源碼分析之集羣啓動流程 我們介紹

原创 Spark同步數據到線上數據庫的一個坑

背景 使用PySpark抽取數據同步到數據庫時候(例如:clickhouse、mysql等數據庫),使用RDD的foreachPartition、mapPartitions或mapPartitionsWithIndex等函數發現有

原创 Yarn源碼分析之集羣啓動流程

文章目錄集羣啓動腳本分析ResourceManager啓動流程初始化流程啓動流程中央事件調度器-AsyncDispatcher 本文以hadoop2.7.1的源碼分析(主要是最新版本考慮更多因素,源碼不夠純粹) 集羣啓動腳本分析

原创 Spark源碼分析之調度框架詳解

文章目錄原理概述源碼分析Job提交Stage劃分Task提交Executor端運行Task Spark的調度框架分爲資源調度和任務調度。Spark的資源調度是基於Yarn實現的,包含Driver和Executor資源的申請等,詳細

原创 一文弄懂Spark基本架構和原理

文章目錄一、基本介紹spark是什麼?彈性分佈式數據集RDD基本概念基本流程二、Hadoop和Spark的區別三、RDD操作TransformationAction四、Block與RDD生成過程五、依賴關係與Stage劃分六、Sp

原创 一文弄懂Java8新特性之函數式編程

文章目錄lambda表達式函數式接口Stream1、Stream的創建2、Stream操作(1)中間操作方法filterdistinctlimit/skipmapflatMapconcatpeeksorted(2)終端操作方法fo

原创 一文弄懂Hbase基本架構

文章目錄1、存儲模型2、架構模型圖3、ROOT表和META表4、Region拆分原理5、HBase在HDFS中存儲6、讀寫操作流程寫操作流程讀操作流程7、Hbase的容錯性 1、存儲模型 table中的所有行都按照row ke

原创 一文弄懂PySpark原理與實踐

文章目錄Spark基本架構和原理一、PySpark 的背後原理二、文檔三、pyspark讀寫dataframe四、通過spark-submit提交任務模板示例五、代碼示例1、WordCount詞頻分析2、使用PySpark語言開發

原创 一文弄懂ROC、AOU和F1 Score評價指標

文章目錄混淆矩陣ROCAOUPRCF1-Score多分類的F1-Score選擇指標 ROC 曲線和 AUC 常被用來評價一個 二值分類器 的優劣。 混淆矩陣 其中,TP(真正,True Positive)表示真正結果爲正例,預測

原创 一文弄懂word2vec(從源碼解析)

文章目錄一、簡介二、兩種模型1、CBOW2、Skip-Gram三、Trick1、hierarchical softmax2、negative sampling四、比較五、最佳實踐 一、簡介 Word2Vec並非指一個模型,而是20

原创 一文弄懂zookeeper基本架構

1、zookeeper工作原理 Zookeeper的核心是原子廣播,這個機制保證了各個server之間的同步。實現這個機制的協議叫做Zab協議。Zab協議有兩種模式,它們分別是恢復模式和廣播模式。當服務啓動或者在領導者崩潰後,Za

原创 一文弄懂L0、L1和L2正則化範式

文章目錄正則化L0範數L1範數L2範數elastic net總結討論幾個問題爲什麼L1稀疏,L2平滑?實現參數的稀疏有什麼好處嗎?參數值越小代表模型越簡單嗎?正則式的應用場景 正則化 正則化的作用實際上就是防止模型過擬合,提高模型

原创 一文弄懂Java線程安全隊列

文章目錄一、分類二、BlockingQueue 阻塞隊列三、ConcurrentLinkedQueue 非阻塞隊列 一、分類 java中所有隊列都繼承至java.util.Queue接口,該接口定義了以下三組方法: 方法名