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
Airflowはすごいぞ!
Search
Hank Ehly
June 08, 2022
Programming
930
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Airflowはすごいぞ!
Hank Ehly
June 08, 2022
More Decks by Hank Ehly
See All by Hank Ehly
Fivetranでデータ移動を自動化する
hankehly
0
660
Celeryの紹介と本番運用のTips
hankehly
0
1.7k
ChatGPTを活用した 便利ツールの紹介
hankehly
1
1.4k
Efficient Energy Analytics with Airflow, Spark, and MLFlow
hankehly
0
410
Deferrable Operators入門
hankehly
0
770
【初心者/ハンズオン】Dockerコンテナの基礎知識
hankehly
0
610
Compositeパターン: オブジェクトの階層関係をエレガントに表現する方法
hankehly
0
360
10/29 Airflowの基礎を学ぶハンズオンワークショップ
hankehly
0
320
システム/データ品質保証のための Airflow 活用法
hankehly
0
690
Other Decks in Programming
See All in Programming
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
540
仕様駆動開発へのトライを機に チームに適合する手法を模索し続けている話
freee
PRO
0
450
Welcome to the "Parametricity" 🏙️ − Generic だけど Specific な世界 −
guvalif
PRO
1
210
【SRE NEXT 2026 Lunch Session】一人目専任SREの立ち上げを加速する ― AIと進めたオンボーディングで2分を0.04秒にした話
pkshadeck
PRO
0
3.6k
琵琶湖の水は止められてもNet--HTTPのリトライは止められない / You might be able to stop the water flow of Lake Biwa but you can't stop Net::HTTP retries
luccafort
PRO
0
620
ビデオ通話が繋がる0.2秒で何が起きているのか
supurazako
2
180
Cloudflare is Agents
chimame
0
150
Detecting Compromised CI with eBPF and Cilium Tetragon
lizrice
0
170
霧の中の代数的エフェクト
funnyycat
1
490
【やさしく解説 設計編・中級 #4】ルールの寿命と、システムの年輪
panda728
PRO
2
180
複数の Claude Code が"放置"されてしまう問題をCLI ダッシュボードを自作して解決した話
sumihiro3
1
670
Go 1.27 における memory allocation の高速化
andpad
0
120
Featured
See All Featured
The Invisible Side of Design
smashingmag
301
52k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.4k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
2
3.7k
Product Roadmaps are Hard
iamctodd
55
12k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.9k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Unsuck your backbone
ammeep
672
58k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
950
Claude Code のすすめ
schroneko
67
230k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
430
Google's AI Overviews - The New Search
badams
0
1.1k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Transcript
Airflowはすごいぞ!
自己紹介 • Hank Ehly (ハンク イーリー) • ENECHANGE株式会社 • qiita.com/hankehly
アジェンダ • Airflowとは • コンセプト qiita.com/hankehly
Airflowとは
Airflowとは > 概要 • ワークフローを作成、実行、監視するためのプラットフォーム • Python • Airbnb、メルカリ、楽天、Tesla、Twitter、等々 •
マネージド版 ◦ Amazon Managed Workflows for Apache Airflow (AWS) ◦ Cloud Composer (GCP) ◦ Astronomer qiita.com/hankehly
Airflowとは > 解決する問題 1. タスクの依存関係を明確にする qiita.com/hankehly ドキュメントやコメントで書く タスクがフローチャートとして表示される 2. エラーが起きた箇所を特定する
追跡できるようなログを出力する エラー表示のタスクをクリックしてログを確認する 3. タスクを同時に実行する multiprocessing や asyncio で頑張る 依存関係がないタスクは同時に実行される 4. 失敗しがちな処理を3回までリトライする リトライ用のデコレーター関数を使う タスクの「最大リトライ数」を設定する 等々… ワークフローの開発において様々な課題がある …
Airflowとは > 使い方のイメージ ワークフロー名 成功/失敗回数 実行頻度 qiita.com/hankehly
Airflowとは > 使い方のイメージ qiita.com/hankehly
Airflowとは > 使い方のイメージ N回目の実行のログ qiita.com/hankehly
Airflowとは > 使い方のイメージ qiita.com/hankehly
コンセプト
コンセプト > DAGs • DAGとは「Directed Acyclic Graph」の略 • ワークフロー/パイプライン •
依存関係にあるタスクをどの順番で実行するか qiita.com/hankehly
コンセプト > Tasks • DAGは、Taskで構成されている • Python関数、Rubyのコンテナ、Bashスクリプト • 状態を持つ ◦
リトライ待ち ◦ 実行中 ◦ 失敗 / 成功 ◦ 等々… qiita.com/hankehly Airflowで表示 a >> [b, c] >> d 開発者が書く
コンセプト > Operators • 「タスクのテンプレート」 • 用意されているものがたくさんある ◦ BashOperator(Bashコマンドを実行) ◦
EC2StartInstanceOperator(EC2インスタンスを起動する) ◦ PythonOperator(Python関数を実行) ◦ EmailOperator(Eメールを送信する) ◦ DockerOperator(コンテナを実行) ◦ SlackAPIPostOperator(Slackにメッセージを投稿する) start_instance = EC2StartInstanceOperator( task_id="start_instance", instance_id="***", ) Operatorの使い方 qiita.com/hankehly
コンセプト > Variables start_instance = EC2StartInstanceOperator( task_id="start_instance", instance_id=Variable.get("INSTANCE_ID"), ) qiita.com/hankehly
コンセプト > Logging UI から個別のタスクログが確認できる • S3 • CloudWatch •
Google Cloud Storage • Elasticsearch qiita.com/hankehly
ご清聴ありがとうございました https://qiita.com/hankehly/items/1f02a34740276d1b8f0f