Flink 學習
https://github.com/zhisheng17/flink-learning
麻煩路過的各位親給這個項目點個 star,太不易了,寫了這麼多,算是對我堅持下來的一種鼓勵吧!
http://www.54tianzhisheng.cn/2019/12/31/Flink-resources/
本項目結構
博客
1、Flink 從0到1學習 —— Apache Flink 介紹
2、Flink 從0到1學習 —— Mac 上搭建 Flink 1.6.0 環境並構建運行簡單程序入門
3、Flink 從0到1學習 —— Flink 配置文件詳解
4、Flink 從0到1學習 —— Data Source 介紹
5、Flink 從0到1學習 —— 如何自定義 Data Source ?
6、Flink 從0到1學習 —— Data Sink 介紹
7、Flink 從0到1學習 —— 如何自定義 Data Sink ?
8、Flink 從0到1學習 —— Flink Data transformation(轉換)
9、Flink 從0到1學習 —— 介紹 Flink 中的 Stream Windows
10、Flink 從0到1學習 —— Flink 中的幾種 Time 詳解
11、Flink 從0到1學習 —— Flink 讀取 Kafka 數據寫入到 ElasticSearch
12、Flink 從0到1學習 —— Flink 項目如何運行?
13、Flink 從0到1學習 —— Flink 讀取 Kafka 數據寫入到 Kafka
14、Flink 從0到1學習 —— Flink JobManager 高可用性配置
15、Flink 從0到1學習 —— Flink parallelism 和 Slot 介紹
16、Flink 從0到1學習 —— Flink 讀取 Kafka 數據批量寫入到 MySQL
17、Flink 從0到1學習 —— Flink 讀取 Kafka 數據寫入到 RabbitMQ
18、Flink 從0到1學習 —— Flink 讀取 Kafka 數據寫入到 HBase
19、Flink 從0到1學習 —— Flink 讀取 Kafka 數據寫入到 HDFS
20、Flink 從0到1學習 —— Flink 讀取 Kafka 數據寫入到 Redis
21、Flink 從0到1學習 —— Flink 讀取 Kafka 數據寫入到 Cassandra
22、Flink 從0到1學習 —— Flink 讀取 Kafka 數據寫入到 Flume
23、Flink 從0到1學習 —— Flink 讀取 Kafka 數據寫入到 InfluxDB
24、Flink 從0到1學習 —— Flink 讀取 Kafka 數據寫入到 RocketMQ
25、Flink 從0到1學習 —— 你上傳的 jar 包藏到哪裏去了
26、Flink 從0到1學習 —— 你的 Flink job 日誌跑到哪裏去了
Flink 源碼項目結構
學習資料
另外我自己整理了些 Flink 的學習資料,目前已經全部放到微信公衆號了。
你可以加我的微信:zhisheng_tian,然後回覆關鍵字:Flink 即可無條件獲取到,轉載請聯繫本人獲取授權,違者必究。
更多私密資料請加入知識星球!
有人要問知識星球裏面更新什麼內容?值得加入嗎?
目前知識星球內已更新的系列文章:
4、Flink 源碼解析 —— standalonesession 模式啓動流程
5、Flink 源碼解析 —— Standalone Session Cluster 啓動流程深度分析之 Job Manager 啓動
6、Flink 源碼解析 —— Standalone Session Cluster 啓動流程深度分析之 Task Manager 啓動
7、Flink 源碼解析 —— 分析 Batch WordCount 程序的執行過程
8、Flink 源碼解析 —— 分析 Streaming WordCount 程序的執行過程
9、Flink 源碼解析 —— 如何獲取 JobGraph?
10、Flink 源碼解析 —— 如何獲取 StreamGraph?
11、Flink 源碼解析 —— Flink JobManager 有什麼作用?
12、Flink 源碼解析 —— Flink TaskManager 有什麼作用?
13、Flink 源碼解析 —— JobManager 處理 SubmitJob 的過程
14、Flink 源碼解析 —— TaskManager 處理 SubmitJob 的過程
15、Flink 源碼解析 —— 深度解析 Flink Checkpoint 機制
16、Flink 源碼解析 —— 深度解析 Flink 序列化機制
17、Flink 源碼解析 —— 深度解析 Flink 是如何管理好內存的?
除了《從1到100深入學習Flink》源碼學習這個系列文章,《從0到1學習Flink》的案例文章也會優先在知識星球更新,讓大家先通過一些 demo 學習 Flink,再去深入源碼學習!
如果學習 Flink 的過程中,遇到什麼問題,可以在裏面提問,我會優先解答,這裏做個抱歉,自己平時工作也挺忙,微信的問題不能做全部做一些解答,
但肯定會優先回復給知識星球的付費用戶的,慶幸的是現在星球裏的活躍氛圍還是可以的,有不少問題通過提問和解答的方式沉澱了下來。
1、爲何我使用 ValueState 保存狀態 Job 恢復是狀態沒恢復?
2、flink中watermark究竟是如何生成的,生成的規則是什麼,怎麼用來處理亂序數據
3、消費kafka數據的時候,如果遇到了髒數據,或者是不符合規則的數據等等怎麼處理呢?
4、在Kafka 集羣中怎麼指定讀取/寫入數據到指定broker或從指定broker的offset開始消費?
6、jobmanager掛掉後,提交的job怎麼不經過手動重新提交執行?
8、通過flink 儀表盤提交的jar 是存儲在哪個目錄下?
9、從Kafka消費數據進行etl清洗,把結果寫入hdfs映射成hive表,壓縮格式、hive直接能夠讀取flink寫出的文件、按照文件大小或者時間滾動生成文件
11、flink 啓動時不自動創建 上傳jar的路徑,能指定一個創建好的目錄嗎
12、Flink sink to es 集羣上報 slot 不夠,單機跑是好的,爲什麼?
13、Fllink to elasticsearch如何創建索引文檔期時間戳?
14、blink有沒有api文檔或者demo,是否建議blink用於生產環境。
16、Flink VS Spark Streaming VS Storm VS Kafka Stream
17、你們做實時大屏的技術架構是什麼樣子的?flume→kafka→flink→redis,然後後端去redis裏面撈數據,醬紫可行嗎?
18、做一個統計指標的時候,需要在Flink的計算過程中多次讀寫redis,感覺好怪,星主有沒有好的方案?
19、Flink 使用場景大分析,列舉了很多的常用場景,可以好好參考一下
20、將kafka中數據sink到mysql時,metadata的數據爲空,導入mysql數據不成功???
22、flink on yarn jobmanager的HA需要怎麼配置。還是說yarn給管理了
25、不採用yarm部署flink,還有其他的方案嗎? 主要想解決服務器重啓後,flink服務怎麼自動拉起? jobmanager掛掉後,提交的job怎麼不經過手動重新提交執行?
26、在一個 Job 裏將同份數據昨晚清洗操作後,sink 到後端多個地方(看業務需求),如何保持一致性?(一個sink出錯,另外的也保證不能插入)
27、flink sql任務在某個特定階段會發生tm和jm丟失心跳,是不是由於gc時間過長呢,
29、一個task slot 只能同時運行一個任務還是多個任務呢?如果task slot運行的任務比較大,會出現OOM的情況嗎?
30、你們怎麼對線上flink做監控的,如果整個程序失敗了怎麼自動重啓等等
31、flink cep規則動態解析有接觸嗎?有沒有成型的框架?
32、每一個Window都有一個watermark嗎?window是怎麼根據watermark進行觸發或者銷燬的?
33、 CheckPoint與SavePoint的區別是什麼?
34、flink可以在算子中共享狀態嗎?或者大佬你有什麼方法可以共享狀態的呢?
37、大家都用jdbc寫,各種數據庫增刪查改拼sql有沒有覺得很累,ps.set代碼一大堆,還要計算每個參數的位置
38、關於datasource的配置,每個taskmanager對應一個datasource?還是每個slot? 實際運行下來,每個slot中datasorce線程池只要設置1就行了,多了也用不到?
39、kafka現在每天出現數據丟失,現在小批量數據,一天200W左右, kafka版本爲 1.0.0,集羣總共7個節點,TOPIC有十六個分區,單條報文1.5k左右
40、根據key.hash的絕對值 對併發度求模,進行分組,假設10各併發度,實際只有8個分區有處理數據,有2個始終不處理,還有一個分區處理的數據是其他的三倍,如截圖
41、flink每7小時不知道在處理什麼, CPU 負載 每7小時,有一次高峯,5分鐘內平均負載超過0.8,如截圖
42、有沒有Flink寫的項目推薦?我想看到用Flink寫的整體項目是怎麼組織的,不單單是一個單例子
43、Flink 源碼的結構圖
44、我想根據不同業務表(case when)進行不同的redis sink(hash ,set),我要如何操作?
45、這個需要清理什麼數據呀,我把hdfs裏面的已經清理了 啓動還是報這個
46、 在流處理系統,在機器發生故障恢復之後,什麼情況消息最多會被處理一次?什麼情況消息最少會被處理一次呢?
48、reduce方法後 那個交易時間 怎麼不是最新的,是第一次進入的那個時間,
52、用戶進入產品預定頁面(端埋點上報),並填寫了一些信息(端埋點上報),但半小時內並沒有產生任何訂單,然後給該類用戶發送一個push。 1. 這種需求適合用flink去做嗎?2. 如果適合,說下大概的思路
53、業務場景是實時獲取數據存redis,請問我要如何按天、按周、按月分別存入redis裏?(比方說過了一天自動換一個位置存redis)
54、有人 AggregatingState 的例子嗎, 感覺官方的例子和 官網的不太一樣?
55、flink-jdbc這個jar有嗎?怎麼沒找到啊?1.8.0的沒找到,1.6.2的有
61、請問下flink可以實現一個流中同時存在訂單表和訂單商品表的數據 兩者是一對多的關係 能實現得到 以訂單表爲主 一個訂單多個商品 這種需求嘛
62、在用中間狀態的時候,如果中間一些信息保存在state中,有沒有必要在redis中再保存一份,來做第三方的存儲。
63、能否出一期flink state的文章。什麼場景下用什麼樣的state?如,最簡單的,實時累加update到state。
64、flink的雙流join博主有使用的經驗嗎?會有什麼常見的問題嗎
65、窗口觸發的條件問題
68、重啓flink單機集羣,還報job not found 異常。
71、flink 支持hadoop 主備麼? hadoop主節點掛了 flink 會切換到hadoop 備用節點?
72、請教大家: 實際 flink 開發中用 scala 多還是 java多些? 剛入手 flink 大數據 scala 需要深入學習麼?
73、我使用的是flink是1.7.2最近用了split的方式分流,但是底層的SplitStream上卻標註爲Deprecated,請問是官方不推薦使用分流的方式嗎?
75、用flink時,遇到個問題 checkpoint大概有2G左右, 有背壓時,flink會重啓有遇到過這個問題嗎
80、使用rocksdb狀態後端,自定義pojo怎麼實現序列化和反序列化的,有相關demo麼?
81、check point 老是失敗,是不是自定義的pojo問題?到本地可以,到hdfs就不行,網上也有很多類似的問題 都沒有一個很好的解釋和解決方案
84、Flink job打開了checkpoint,用的rocksdb,通過觀察hdfs上checkpoint目錄,爲啥算副本總量會暴增爆減
85、Flink 提交任務的 jar包可以指定路徑爲 HDFS 上的嗎
89、用flink清洗數據,其中要訪問redis,根據redis的結果來決定是否把數據傳遞到下流,這有可能實現嗎?
92、SocketTextStreamWordCount中輸入中文統計不出來,請問這個怎麼解決,我猜測應該是需要修改一下代碼,應該是這個例子默認統計英文
93、 Flink 應用程序本地 ide 裏面運行的時候並行度是怎麼算的?
等等等,還有很多,複製粘貼的我手累啊 ?
另外裏面還會及時分享 Flink 的一些最新的資料(包括數據、視頻、PPT、優秀博客,持續更新,保證全網最全,因爲我知道 Flink 目前的資料還不多)
再就是星球用戶給我提的一點要求:不定期分享一些自己遇到的 Flink 項目的實戰,生產項目遇到的問題,是如何解決的等經驗之談!
7、《大數據“重磅炸彈”——實時計算框架 Flink》專欄系列文章目錄大綱
8、《大數據“重磅炸彈”——實時計算框架 Flink》Chat 付費文章
10、Flink On K8s
當然,除了更新 Flink 相關的東西外,我還會更新一些大數據相關的東西,因爲我個人之前不是大數據開發,所以現在也要狂補些知識!總之,希望進來的童鞋們一起共同進步!
7、Lightweight Asynchronous Snapshots for Distributed Dataflows
8、Apache Flink™- Stream and Batch Processing in a Single Engine