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
150
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
570
Scheduled Queryの運用を楽にするBotを実装してみたお話
yuukimiya
0
160
DPCT発表資料.pdf
yuukimiya
0
9.3k
お家で子どもと楽しむプログラミング
yuukimiya
0
1.2k
Other Decks in Technology
See All in Technology
Snowflake女子会#3 Snowpipeの良さを5分で語るよ
lana2548
0
220
Amazon SageMaker Unified Studio(Preview)、Lakehouse と Amazon S3 Tables
ishikawa_satoru
0
150
第3回Snowflake女子会_LT登壇資料(合成データ)_Taro_CCCMK
tarotaro0129
0
180
サーバレスアプリ開発者向けアップデートをキャッチアップしてきた #AWSreInvent #regrowth_fuk
drumnistnakano
0
190
あの日俺達が夢見たサーバレスアーキテクチャ/the-serverless-architecture-we-dreamed-of
tomoki10
0
420
社内イベント管理システムを1週間でAKSからACAに移行した話し
shingo_kawahara
0
180
DevOps視点でAWS re:invent2024の新サービス・アプデを振り返ってみた
oshanqq
0
180
生成AIのガバナンスの全体像と現実解
fnifni
1
180
マイクロサービスにおける容易なトランザクション管理に向けて
scalar
0
110
podman_update_2024-12
orimanabu
1
260
LINEヤフーのフロントエンド組織・体制の紹介【24年12月】
lycorp_recruit_jp
0
530
Fanstaの1年を大解剖! 一人SREはどこまでできるのか!?
syossan27
2
160
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
48
2.2k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
17
2.3k
4 Signs Your Business is Dying
shpigford
181
21k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Thoughts on Productivity
jonyablonski
67
4.4k
Fireside Chat
paigeccino
34
3.1k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7k
Documentation Writing (for coders)
carmenintech
66
4.5k
Into the Great Unknown - MozCon
thekraken
33
1.5k
Bash Introduction
62gerente
608
210k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
YesSQL, Process and Tooling at Scale
rocio
169
14k
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 に自動で 予測モデルをデプロイするパ イプラインを作ってみた