Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Unlocking the Future of Data Pipeline
Search
Lee Wei
September 04, 2025
270
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Unlocking the Future of Data Pipeline
Lee Wei
September 04, 2025
More Decks by Lee Wei
See All by Lee Wei
YourAl Is Only As Good As Your Data Pipeline
leew
0
7
觸發觸發器器,那個你可能不熟的 Apache Airflow 元件
leew
0
84
20251127 開源菜雞的隨意雜談
leew
0
48
住手啊,這樣用 Python 寫程式沒有人會獲得幸福的
leew
0
90
Hold on! You have a data team in PyCon Taiwan!
leew
0
53
朝聖之路
leew
0
130
20250328 Airflow 3.0 The First Glance
leew
0
400
踏入開源的第一步
leew
0
260
Unleash the Chaos - Developing a Linter for Un-Pythonic Code!
leew
0
160
Featured
See All Featured
First, design no harm
axbom
PRO
2
1.2k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
570
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
520
Color Theory Basics | Prateek | Gurzu
gurzu
0
360
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
200
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
320
Paper Plane (Part 1)
katiecoart
PRO
0
8.6k
Navigating Team Friction
lara
192
16k
Six Lessons from altMBA
skipperchong
29
4.3k
The Spectacular Lies of Maps
axbom
PRO
1
790
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.3k
Un-Boring Meetings
codingconduct
0
310
Transcript
wei-lee.me Unlocking the Future of Data Pipeline Apache Airflow 3
wei-lee.me
wei-lee.me 🛝 Slide deck
wei-lee.me What to expect? • Intro to Airflow • What's
new in Airflow 3 • Migrate to Airflow 3
wei-lee.me Intro to Airflow
wei-lee.me What is Airflow An open-source platform to programmatically author,
schedule, and monitor workflows
wei-lee.me What is a workflow
wei-lee.me What is a workflow
wei-lee.me What is a workflow the programmatically part
wei-lee.me What is a workflow the programmatically part
wei-lee.me What is a workflow the programmatically part
wei-lee.me What is a workflow the programmatically part
wei-lee.me What is a workflow the programmatically part
wei-lee.me What is a workflow the programmatically part
wei-lee.me 12
wei-lee.me What is a Dag Dag == Workflow in Airflow
wei-lee.me What is a Dag Dag == Workflow in Airflow.
wei-lee.me If you ever heard of a DAG or directed
acyclic graph...
wei-lee.me
wei-lee.me Where do the tasks come from? Under the hook,
it's a PythonOperator.
wei-lee.me What are Operators Examples • EmailOperator • HttpOperator •
SQLExecuteQueryOperator • DockerOperator • HiveOperator • S3FileTransformOperator • PrestoToMySqlOperator • SlackAPIOperator • and etc.
wei-lee.me a template for a predefined task What are Operators
Definition
wei-lee.me What are Operators Lots and lots of operators "JSCZUF
"MJCBCB "NB[PO "QQSJTF "TBOB "SBOHP%# "QBDIF4QBSL "QBDIF1JOPU "QBDIF1JH "QBDIF-JWZ "QBDIF,ZMJO "QBDIF,BGLB "QBDIF)JWF "QBDIF)%'4 "QBDIF'MJOL "QBDIF%SVJE "QBDIF%SJMM "QBDIF$BTTBOESB "QBDIF#FBN %PDLFS %JTDPSE %JOHEJOH ECU %BUBEPH %BUBCSJDLT $PNNPO42- $PIFSF ,VCFSOFUFT $FMFSZ +JSB *#.$MPVEBOU )551 )BTIJDPSQ H31$ (PPHMF 'BDFCPPL '51 'BDFCPPL &YBTPM &MBTUJDTFBSDI 0QFO-JOFBHF 0QFO"* 0QFO'BB4 0%#$ /FPK .Z42- .POHP%# 8JO3. .442- 1431 .JDSPTPGU1PXFS4IFMM .JDSPTPGU"[VSF +FOLJOT +%#$ *."1 *OGMVY%# 1BQFSNJMM 1BHFSEVUZ 0SBDMF 0QTHFOJF 0QFO4FBSDI 4FHNFOU 4BNCB 4BMFTGPSDF 3FEJT 1SFTUP 1PTUHSF42- 1JOFDPOF 1H7FDUPS 5BCMFBV 5BCVMBS 44) 42-JUF 4OPXGMBLF 4.51 4MBDL 4JOHVMBSJUZ 4'51 4FOEHSJE 7FSUJDB 5SJOP 5FMFHSBN ;FOEFTL :BOEFY 8FBWJBUF 9
wei-lee.me Recap • Airflow → programatically orchestrating workflows • Dag
== Airflow Workflows → A bunch of tasks • Operator → template for a task
wei-lee.me What's new in Airflow 3
wei-lee.me Airflow Improvment Proposals • UI (AIP-38, AIP-79, AIP-84) •
Data Awareness (AIP-73, AIP-74, AIP-75) • External Event Driven (AIP-82) • Dag Versioning (AIP-63, AIP-64, AIP-65, AIP-66) • Task SDK (AIP-72) • Out of scope today (AIP-69, AIP-78, AIP-81, AIP-83)
wei-lee.me User Interface • AIP-38: Modern Web Application • AIP-79:
Remove Flask AppBuilder as Core dependency • AIP-84: UI REST API
wei-lee.me Airflow 1
wei-lee.me 10
wei-lee.me Airflow 2
wei-lee.me Everyone really has no taste. 11
wei-lee.me Airflow 3
wei-lee.me Airflow 3
wei-lee.me Under the hook • Rewrite the frontend using React
• Remove Flask AppBuilder from core • Redesign API endpoints using FastAPI (Get rid of the 6,000 lines views.py)
wei-lee.me Legacy views.py 😱
wei-lee.me Data Awareness • AIP-73 Expanded Data Awareness • AIP-74
Introducing Data Assets • AIP-75 New Asset-Centric Syntax • AIP-76 Asset Partitions (TODO)
wei-lee.me What if we have... • Team A: focus only
on training the model • Team B: using the models to generate a report • These 2 teams don't share code with each other
wei-lee.me
wei-lee.me The uri here is just an identifier
wei-lee.me
wei-lee.me
wei-lee.me @asset
wei-lee.me What if the 2 teams don't have access to
the same metacase (can't access the same asset)
wei-lee.me External Event Driven • AIP-82 External event driven scheduling
in Airflow
wei-lee.me
wei-lee.me
wei-lee.me More details on how these Asset things can be
used?
wei-lee.me Next sesion in the same room
wei-lee.me Dag Versioning • AIP-63: Dag Versioning • AIP-64: Keep
TaskInstance try history • AIP-65: Improve Dag history in UI • AIP-66: Dag Bundles & Parsing
wei-lee.me Dag versioning
wei-lee.me Dag versioning
wei-lee.me Dag versioning
wei-lee.me Dag versioning
wei-lee.me 17 v1 v2 v3 v4 v5
wei-lee.me Task SDK • AIP-72 Task Execution Interface aka Task
SDK
wei-lee.me
wei-lee.me
wei-lee.me
wei-lee.me
wei-lee.me
wei-lee.me Migrate to Airflow 3
wei-lee.me Never enjoyed being in a band. migrating Airflow 19
wei-lee.me Airflow Migration Tools
wei-lee.me But I still need to update lots of Dag
code 🫠
wei-lee.me Ruff AIR rules
wei-lee.me Ruff AIR Rules Best practices • AIR001 Task Variable
name should match task_id • AIR002 A Dag should have an explicit schedule argument
wei-lee.me Ruff AIR Rules Required changes for migrating to Airflow
3 • AIR301 Something removed in Airflow 3 • AIR302 Something moved from Ariflow core to Airflow provider in Airflow 3
wei-lee.me Ruff AIR Rules Suggested changes for migrating to Airflow
3 • AIR311 Similiar to AIR301, but it won't break your code for the time being (We added a backward-compatible layer) • AIR312 Similiar to AIR302, but it won't break your code for the time being
wei-lee.me How we migrate PyCon TW's airflow to airflow 3
wei-lee.me $ airflow db migrate Contributed back to Airflow
wei-lee.me $ airflow config lint
wei-lee.me $ uvx ruff check dags \ --preview \ --select=AIR3
\ --fix \ --unsafe-fixes
wei-lee.me Ruff AIR rocks 🚀
wei-lee.me It's almost like a miracle.
wei-lee.me More Ruff @ Airflow Summit 2025
wei-lee.me
wei-lee.me What's new in Airflow 3.1! • i18n (Taiwanese Mandarin
support!) • Human-in-the-loop (AIP-90) • go-sdk (part of AIP-72) • UI-plugins (AIP-68) • etc.
wei-lee.me Internationalization (i18n) 1.English 2.Arabic 3.Catalan 4.German 5.Spanish 6.French 7.Hebrew
8.Hindi 9.Hungarian 10.Korean 11.Dutch 12.Polish 13.Taiwanese Mandarin 14.Turkish
wei-lee.me
wei-lee.me A friend from the Taiwan community initiated it!
wei-lee.me I like to be the first, No.1
wei-lee.me Human-in-the-loop • AIP-90 Human in the loop
wei-lee.me Tasks awaiting human input
wei-lee.me go-sdk
wei-lee.me go-sdk/example/main.go
wei-lee.me
wei-lee.me UI plugins
wei-lee.me AIP-68 Extended Plugin Interface for React Views
wei-lee.me That's it.
wei-lee.me I want to join
wei-lee.me Let's contribute to Airflow
wei-lee.me Python Taiwan Discord Channel
wei-lee.me __name__ = 李唯 / Wei Lee __what_i_am_doing__ = [
Everywhere @ PyCon Taiwan, Member @ Python Asia Organization, Meme Bot @ OpenSource4You, Mentor @ OpenSource4You, Maintainer @ commitizen-tools, Committer @ Apache Airflow, Software Engineer @ Astronomer, ] __github__ = Lee-W __linkedin__ = clleew __site__ = https://wei-lee.me $ cat weilee.py
wei-lee.me File "weilee.py", line 1 __name__ = 李唯 / Wei
Lee ^^^ SyntaxError: invalid syntax $ 𝜋 thon weilee.py
wei-lee.me Stay Here for another great Airflow session!
wei-lee.me Join us for another Airflow discussion tomorrow @ 12:30!
wei-lee.me References • MIB • Fate/Zero • BanG Dream! It's
MyGO!!!!! • JOJO 的奇妙冒險 • JOJO 的奇妙冒險 黃 金 之風 • 地。-關於地球的運動
wei-lee.me Thanks for your time!
wei-lee.me I’m sure you have some questions on your mind
too.
wei-lee.me Q & A
wei-lee.me Q1: What's the cool editor you're using?
wei-lee.me
wei-lee.me Q & A