原创 flink深入研究(04) flink的啓動方式

Flink可以在單臺機器上運行,甚至是單個Java虛擬機(Java Virtual Machine)。這種機制使得用戶可以在本地測試或者調試Flink程序。Flink的啓動方式總共有三種部署方式,local、standalone、Yarn

原创 flink深入研究(02) flink運行環境的獲取(上)

// 獲取運行環境 StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); 這行代碼會返回一個可用的執行環境,是fli

原创 flink深入研究(01) flink本地部署

Apache Flink是由Apache軟件基金會開發的開源流處理框架,其核心是用Java和Scala編寫的分佈式流數據流引擎。Flink以數據並行和流水線方式執行任意流數據程序,Flink的流水線運行時系統可以執行批處理和流處理程序。此

原创 IaaS、PaaS、SaaS之間的區別

推薦網址https://www.zhihu.com/question/20387284

原创 讀《Head First 設計模式》筆記--命令模式

單件模式定義 將“請求”封裝成對象,以便使用不同的請求、隊列或者日誌來參數化其他對象。命令模式也支持可撤銷的操作。

原创 VisualVM分析內存泄漏情況

首先,導出jvm內存信息文件(.dump),通過命令:jmap -dump:format=b,file=文件名 [pid] 其次,安裝VisualVM,如下圖  然後 進入VisualVM,如下圖: 點擊"裝入",然後選擇你的dum

原创 flink深入研究(03) flink運行環境的獲取(下)

上篇我們講到了createStreamExecutionEnvironment函數,我們這裏再貼一下代碼: private static StreamExecutionEnvironment createStreamExecutionE

原创 flink深入研究(12) DataStream類中keyBy函數調用流程

這裏再貼一下相關代碼: // 連接socket獲取輸入的數據 DataStreamSource<String> text = env.socketTextStream("localhost", port, "\n"); //

原创 記一次Flink任務Full gc的問題排查

最近發現flink任務vc_lark_rtc_event_job_new_test會每隔一兩天會造成上游topic消費積壓,後來發現是因爲full gc(Full GC(Ergonomics)通過TM中的gc.log.0.current日

原创 flink深入研究(07) flink的StreamExecutionEnvironment.execute()函數調用過程01

今天我們開始分析Flink中第一個流程圖StreamGraph的生成,StreamGraph 相關的代碼主要在 org.apache.flink.streaming.api.graph 包中。構造StreamGraph的入口函數是 Str

原创 flink深入研究(05) 算子operator

flink的整個數據處理流程是由一個個operator組成的,數據從源頭開始傳遞給一個個operator進行鏈式處理,每一個處理邏輯就是一個operator,一個operator包含一個輸入、一個處理邏輯、一個輸出,operator是在T

原创 讀《Head First 設計模式》筆記--策略模式

策略模式定義 定義了算法族,分別封裝起來,讓它們之間可以互相替換,此模式讓算法的變化獨立於使用算法的客戶。 設計原則 1、找出應用中可能需要變化之處,把它們獨立出來,不要和那些不需要變化的代碼混合在一起。 2、針對接口編程,而不是針對實現

原创 相關對象的存儲位置

推薦比較好的一篇文章https://www.cnblogs.com/liujunming/p/4391401.html

原创 一個好的Druid學習資料

推薦一個比較全面的Druid學習資料https://www.apache-druid.cn/

原创 flink深入研究(06) flink的程序啓動過程---01 flink的Graph

真正開始運行代碼的是execute函數,這個函數會根據環境上下文采取不同的行爲,這個我們後面會詳細講解,我們先來看看flink的架構,下圖是結構圖 flink架構圖當 Flink 集羣啓動後,首先會啓動一個 JobManger 和一個或多