原创 GO chan
管道 Go語言提倡使用通信的方法代替共享內存 代碼 import "fmt" func sum(s []int, c chan int) { sum := 0 for _, v := range s { sum += v
原创 大數據工程師面試總結
總結一些比較好的博客 1.wireshark抓包圖解 TCP三次握手/四次揮手詳解 2.99%的人都理解錯了 HTTP 中 GET 與 POST 的區別 3.HTTPS那些事 用java實現HTTPS工作原理 4.HashMap和Hash
原创 Flink源碼-8-JobVertex生成JobGraph
JobGraph 通常是由DataStream生成的,然後轉換生成的JobGraph 我們可以直接JobVertex--------->JobGraph 來深入理解這個過程 JobVertex //生成一個頂點
原创 Flink源碼-10-CheckPoint實現
CheckPoint CheckPoint 是實現一次性語義的核心,接下來我們看一下如何實現 CheckpointCoordinator checkpoint協調器 單線程,固定週期去觸發checkpoint private Sc
原创 Flink源碼-9-Flink sql翻譯Job及優化
翻譯過程 參考文檔 sqlparservalidate優化器規則優化codegenSQLAST抽象語法樹表示用SqlNode邏輯樹RelNode邏輯樹RelNode物理執行計劃Flink算子 示例SQL SELECT * FRO
原创 Flink源碼-7-Scheduler
代碼示例 public class WorldCount { public static void main(String[] args) throws Exception { StreamExecut
原创 GO 反射
反射 反射的概念在Java中也存在,無非就是程序動態得到字段,字段值 下面是GO語言的實現 import ( "fmt" "reflect" ) func main() { type T struct { A int
原创 Flink源碼-11-Source實現
Source 從源碼中學習例子 Kafka實現 類結構 RMQ實現 從上面兩個實現來看,主要實現了以下接口 SourceFunction source接口 RichFunction 取到上下文的一些信息 Checkpoin
原创 Kylin build 源碼解析
前言 Kylin build過程是Kylin中的核心機制,理解build過程,有助於作業的優化,問題排查,理解Kylin的思想 示例數據 事實表+維度表 核心代碼 BatchCubingJobBuilder2 類 public
原创 Spring AOP 源碼解讀
應用場景 公共模塊抽象出來,簡單的AOP功能編織到模塊中 核心技術實現 動態代理,相關的攔截器都配置到了動態對象裏 JDK 動態代理 只能代理實現接口的類 invoke裏封裝了aop的實現 CGLIB 字節碼增強技術 可以直接代理
原创 再看AOP,Where,When ,What
AOP 剛開始學習Java的時候,對aop的概念,看不很明白,今天再來看AOP,現在能想其實和動態代理來看也差不多,都是隱式的給你加些功能 圖解 切面 aspect 直白點就是要在切點插入的東西,就是what 切點 pointcu
原创 Flink源碼-5-dispatcher,jobmanager,jobmaster關係
模式 在yarn-session模式下,共享一個dispatcher org.apache.flink.runtime.dispatcher.Dispatcher 這個類,這裏接收到客戶端傳上來的作業圖 代碼分析 //這裏就是分
原创 Flink源碼-4-task執行
執行 flink 作業的最小執行單元是task 示例 public class WorldCount { public static void main(String[] args) throws Exception {
原创 Spring boot 啓動卡住
現象 一直沒有啓動成功 排查問題 用arthas排查 直接 thread 查看線程狀態,發現wait thread 線程id(主線程的) 得到堆棧信息 發現問題代碼了 當然jstakc -l 命令也行 總結 這類卡住了的,直接把
原创 Scala implicit 隱式函數,隱式參數,隱式類
隱式函數 object TestImplicitMethod { implicit def convertInt2String(i: Int) = i.toString def main(args: Array[Stri