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社内勉強会@Classi
Search
Yuu.Kimy
March 29, 2019
Technology
0
170
Airflow社内勉強会@Classi
Classi社内で、チーム内でのわいがや勉強会の資料です。
ワークフローエンジンの一つである「Airflow」について取り上げています。
Yuu.Kimy
March 29, 2019
Tweet
Share
More Decks by Yuu.Kimy
See All by Yuu.Kimy
dbtをAirflowで動かす道のりは続く...
yuukimiya
0
820
Scheduled Queryの運用を楽にするBotを実装してみたお話
yuukimiya
0
170
DPCT発表資料.pdf
yuukimiya
0
9.5k
お家で子どもと楽しむプログラミング
yuukimiya
0
1.3k
Other Decks in Technology
See All in Technology
生成AIでwebアプリケーションを作ってみた
tajimon
2
150
2025-06-26_Lightning_Talk_for_Lightning_Talks
_hashimo2
2
100
強化されたAmazon Location Serviceによる新機能と開発者体験
dayjournal
2
210
Witchcraft for Memory
pocke
1
420
How Community Opened Global Doors
hiroramos4
PRO
1
120
Node-RED × MCP 勉強会 vol.1
1ftseabass
PRO
0
150
変化する開発、進化する体系時代に適応するソフトウェアエンジニアの知識と考え方(JaSST'25 Kansai)
mizunori
1
230
Prox Industries株式会社 会社紹介資料
proxindustries
0
310
プロダクトエンジニアリング組織への歩み、その現在地 / Our journey to becoming a product engineering organization
hiro_torii
0
130
生成AI時代 文字コードを学ぶ意義を見出せるか?
hrsued
1
570
Agentic Workflowという選択肢を考える
tkikuchi1002
1
530
OpenHands🤲にContributeしてみた
kotauchisunsun
1
460
Featured
See All Featured
How to Ace a Technical Interview
jacobian
277
23k
Designing for Performance
lara
609
69k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Become a Pro
speakerdeck
PRO
28
5.4k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.8k
Thoughts on Productivity
jonyablonski
69
4.7k
A Modern Web Designer's Workflow
chriscoyier
694
190k
Code Reviewing Like a Champion
maltzj
524
40k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
The Straight Up "How To Draw Better" Workshop
denniskardys
234
140k
Rebuilding a faster, lazier Slack
samanthasiow
82
9.1k
Into the Great Unknown - MozCon
thekraken
39
1.9k
Transcript
Copyright © 2018 Classi Corp. All Rights Reserved. Airflow社内勉強会 Copyright
© 2018 Classi Corp. All Rights Reserved. 2019-3-29(金) in 社内わいがや勉強会
Copyright © 2018 Classi Corp. All Rights Reserved. この資料は、社内の勉強会で利用した資料です。 Classi
データAI部は、不定期でゆるーく、且つ、 まじめに勉強会を開催しています。笑 こちらの資料は、外部の方が公開されている記事を参考 に、Airflowの概要をまとめた資料です。 ※あくまで、入門編的にまとめたものですので、その点 は、ご了承くださいm(_ _)m 1 はじめに
Copyright © 2018 Classi Corp. All Rights Reserved. 1. Airflowとは?
2. どうやって使うの? 3. 何を実装すれば良いの? 4. デプロイは? 5. Airflowと仲良くなろうー 6. 現在と今後 2 お品書き
Copyright © 2018 Classi Corp. All Rights Reserved. 名前: 木宮
勇毅(@yuu_kimy) 所属: Classi株式会社 仕事: データエンジニア - データ基盤環境の構築 - データドリブン支援(BI推進の支援) これまでの登壇: お家で 子どもと楽しむプ ログラミング 丘サーファーへ「水」を届けるために 3 参考:自己紹介
Copyright © 2018 Classi Corp. All Rights Reserved. The “Airflow”
Platform is a tool for describing, executing, and monitoring workflows. 4 1. Airflowとは?
Copyright © 2018 Classi Corp. All Rights Reserved. つまり、ワークフローのためのツールなのだ 5
1. Airflowとは?
Copyright © 2018 Classi Corp. All Rights Reserved. 例えば、「A ・B・
Cという3つのタスクがあった時、これらをい つどの順番で実行するか」ということ 6 補足:ワークフローって何ぞや?
Copyright © 2018 Classi Corp. All Rights Reserved. 7 補足:ワークフローの例
Copyright © 2018 Classi Corp. All Rights Reserved. (色々と好みがあるだろうけど..) •
Luigi(spotify開発) • Azkaban • Digdag(トレジャーデータ開発) • NiFi 8 補足:他にはどんなツールがあるの?
Copyright © 2018 Classi Corp. All Rights Reserved. 当然ですが、Airflowの環境を用意しよー •
自前で環境構築 • GCPのマネージドサービスを利用する 9 2. どうやって使うの?
Copyright © 2018 Classi Corp. All Rights Reserved. • ドキュメントを見て頑張れ!!!
→ https://airflow.apache.org/installation.html 10 2. どうやって使うの?(自前で用意編)
Copyright © 2018 Classi Corp. All Rights Reserved. • Cloud
Composerを起動すれば 簡単簡単♪ 11 2. どうやって使うの?(GCPのサービス利用する)
Copyright © 2018 Classi Corp. All Rights Reserved. 12 2.
どうやって使うの?(GCPのサービス利用する)
Copyright © 2018 Classi Corp. All Rights Reserved. 13 2.
どうやって使うの?(GCPのサービス利用する) • ただし、起動に10分以上かかるのが難点.. (GKE環境が動いているためと思われる)
Copyright © 2018 Classi Corp. All Rights Reserved. 14 3.
何を実装すれば良いの? DAG
Copyright © 2018 Classi Corp. All Rights Reserved. 15 3.
何を実装すれば良いの? つまり、 Directed Acyclic Graph(有向非巡回グラフ) を書けば良いのだ!!
Copyright © 2018 Classi Corp. All Rights Reserved. 16 3.
何を実装すれば良いの?
Copyright © 2018 Classi Corp. All Rights Reserved. 17 3.
何を実装すれば良いの? 実装例を眺めよう〜
Copyright © 2018 Classi Corp. All Rights Reserved. 18 3.
何を実装すれば良いの? DAG全体の定義: 名称や開始日時、リトライ回数など DAGの中で実行するタスクの定義 : オペレータ(operator)を利用する タスクの依存関係の定義 : 実行順序を定義する
Copyright © 2018 Classi Corp. All Rights Reserved. 19 ちなみにですが、、
• さっきのDAGは、こういう風に実行される
Copyright © 2018 Classi Corp. All Rights Reserved. 20 3.
何を実装すれば良いの? • オペレータは色々あるけど、ドキュメントを見るべし!! → https://airflow.apache.org/howto/operator.html
Copyright © 2018 Classi Corp. All Rights Reserved. 21 4.
デプロイは? • Airflow環境に”dags”というディレクトリがあるの で、そこに実装したPythonのソースファイルを追 加するだけ♪ 簡単じゃろ?!
Copyright © 2018 Classi Corp. All Rights Reserved. 22 4.
デプロイは?(Cloud Composer環境の場合) • Cloud Composerを起動すると、その環境の専用 のGCSバケットが作成されるので、そのバゲット の”dags”フォルダに追加するだけ♪ 簡単じゃろ?!
Copyright © 2018 Classi Corp. All Rights Reserved. 23 4.
デプロイは?(Cloud Composer環境の場合)
Copyright © 2018 Classi Corp. All Rights Reserved. 24 補足:Cloud
Composerのシステム構成
Copyright © 2018 Classi Corp. All Rights Reserved. 25 5.
Airflowと仲良くなろうー • Airflow初めましてだけど、大丈夫・・?
Copyright © 2018 Classi Corp. All Rights Reserved. 26 •
ひとまず公式ドキュメントを読めば(多分)♂ → https://airflow.apache.org/index.html → もしくは、Google公式ドキュメント (https://cloud.google.com/composer/docs/quickstart) 5. Airflowと仲良くなろうー
Copyright © 2018 Classi Corp. All Rights Reserved. 27 •
オペレータの挙動はどう知る? 5. Airflowと仲良くなろうー
Copyright © 2018 Classi Corp. All Rights Reserved. 28 •
やっぱり公式ドキュメントorソース(Python) → https://airflow.apache.org/code.html#api-reference-operators 5. Airflowと仲良くなろうー
Copyright © 2018 Classi Corp. All Rights Reserved. 29 •
よく使いそうなオペレータ • BashOperator • PythonOperator • GoogleCloudStorageToBigQueryOperator • CloudSqlQueryOperator • BigQueryOperator 5. Airflowと仲良くなろうー
Copyright © 2018 Classi Corp. All Rights Reserved. 30 •
困ったときはソースに限るww → https://airflow.apache.org/_modules/airflow/contrib/op erators/gcs_to_bq.html#GoogleCloudStorageToBigQuery Operator 5. Airflowと仲良くなろうー
Copyright © 2018 Classi Corp. All Rights Reserved. 31 •
ログってどこで見るの? 5. Airflowと仲良くなろうー
Copyright © 2018 Classi Corp. All Rights Reserved. 32 •
AirflowのWeb画面、logsフォルダを参照 5. Airflowと仲良くなろうー
Copyright © 2018 Classi Corp. All Rights Reserved. 33 5.
Airflowと仲良くなろうー
Copyright © 2018 Classi Corp. All Rights Reserved. 34 •
どのタイミングでDAGは実行されるの? 5. Airflowと仲良くなろうー
Copyright © 2018 Classi Corp. All Rights Reserved. 35 •
DAGのスケジュール設定次第 5. Airflowと仲良くなろうー
Copyright © 2018 Classi Corp. All Rights Reserved. 36 5.
Airflowと仲良くなろうー この場合は、”2018/4/23 0:00”(UTC)から開始します。 つまり、JSTでは、”2018/4/23 9:00”となります。 この場合は、任意の開始時間から開始されます。 タイミングは、日次で ”00:15”(UTC)に実行されます。 つまり、”09:15”(JST)となります。
Copyright © 2018 Classi Corp. All Rights Reserved. 37 6.
現在と今後 • Classiでは、データ基盤のワークフローとして利用中(今のところ)
Copyright © 2018 Classi Corp. All Rights Reserved. 38 6.
現在と今後 • どういうシーンで利用できるだろう・・? • 例えば、機械学習のパイプラインが考えられそう!
Copyright © 2018 Classi Corp. All Rights Reserved. 39 おしまい〜♪
Copyright © 2018 Classi Corp. All Rights Reserved. 40 参考:
• Airflowのコンセプトと仕組みを理解する • ワークフローの基礎知識とワークフローシステム導入の メリット • OSSのワークフローエンジンを使ってみた感想 • そのデータフロー NiFiで楽にしてあげましょう • 有向非巡回グラフ • Apache AirFlowをDocker環境で構築して簡単なジョブを 作る • Cloud ML Engine に自動で 予測モデルをデプロイするパ イプラインを作ってみた