iT邦幫忙

鐵人檔案

2023 iThome 鐵人賽
回列表
Software Development

用 Airflow & Flink 來開發 ETL 吧 系列

Airflow 和 Flink 是兩個強大的工具,可以用於 ETL 開發。Airflow 是一個開源的任務調度和監控平台,可以方便地定義、調度和監控 ETL 任務的執行。Flink 是一個分佈式流處理引擎,可以處理大規模的數據流,並提供低延遲和高吞吐量的處理能力。

我想來聊聊這兩個框架在開發上遇過的坑,好用跟難用的點,跟我目前比較喜歡的程式架構。

鐵人鍊成 | 共 30 篇文章 | 8 人訂閱 訂閱系列文 RSS系列文 團隊今天截止日
DAY 21

Flink 存檔跟還原機制 - Day21

Flink 的一個重要特性是狀態保存和還原機制,它可以讓 Flink 應用在發生故障時,能夠自動恢復到之前的狀態,而不會丟失或重複處理數據。 Flink 的狀態...

2023-09-21 ‧ 由 kaihg1028 分享
DAY 22

來寫一個 Flink Streaming Job 吧 - Day22

前面講了一些基本概念,我們來看一個比較完整的案例吧 講到 Streaming,有一個很好用的工具叫 Kafka,應該也是大多數工程師或公司會用的工具。所以我們來...

2023-09-22 ‧ 由 kaihg1028 分享
DAY 23

Flink Streaming 與 JDBC - Day23

我們在上一章的時候,Flink 的輸入 source 是使用 Kafka,它很好用,但我們常常面對的卻是各種 OLTP 資料庫。而如果你打開 Flink 官網,...

2023-09-23 ‧ 由 kaihg1028 分享
DAY 24

Flink 也能寫 Batch - Day24

雖然我說 Flink 的強項跟目的是處理 Streaming 的資料,但不代表它不能做 batch。最經典的例子,依然還是讀檔後計算字數。 public cla...

2023-09-24 ‧ 由 kaihg1028 分享
DAY 25

Flink 的單元測試 20 - Day25

跟 Airflow 一樣,這種框架都不太好測,而 Flink 的流式處理以及他的複雜機制更是如此。 不過,我們還是可以從一些簡單的部份做起。 Source /...

2023-09-25 ‧ 由 kaihg1028 分享
DAY 26

Flink Service 與 jar 的關係 - Day26

前面有提到,通常我們會在 IDE 開發 Flink,都 2023 年了應該沒人在用記事本寫 Java 了吧?至少也用個 vim。 Flink 一般來說,會有一個...

2023-09-26 ‧ 由 kaihg1028 分享
DAY 27

Airflow 的 XCom 與限制 - Day27

雖然已經到尾聲了,但我發現有個重要的 Airflow 元件沒有提到,所以必須來補這篇。 Airflow XCom 是一種在不同的 task 之間傳遞資料的機制,...

2023-09-27 ‧ 由 kaihg1028 分享
DAY 28

讓 Airflow 呼叫 Flink - Day28

我們前面講了 Airflow 跟 Flink 的一些基礎觀念跟開發,現在讓我們整理一下兩邊的差異。 首先,Airflow 是一個優秀的排程管理工具,它有自己的...

2023-09-28 ‧ 由 kaihg1028 分享
DAY 29

來用 TDD 開發 Airflow DAG 吧 - Day29

TDD(測試驅動開發 Test Driven Develop)是一種軟體開發方法,它要求在編寫任何程式碼之前,先撰寫測試案例。這樣可以確保程式碼的品質和可靠性,...

2023-09-29 ‧ 由 kaihg1028 分享
DAY 30

利用 Github Action 來做 CI 吧 - Day30

終於來到最後一篇了,我們前面寫了這麼多程式跟測試,那要什麼時候執行測試? 理論上,你隨時都應該做。特別是 merge branch 回 develop 的時候。...

2023-09-30 ‧ 由 kaihg1028 分享