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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Yuu.Kimy
March 29, 2019
Technology
210
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Airflow社内勉強会@Classi
Classi社内で、チーム内でのわいがや勉強会の資料です。
ワークフローエンジンの一つである「Airflow」について取り上げています。
Yuu.Kimy
March 29, 2019
More Decks by Yuu.Kimy
See All by Yuu.Kimy
dbtをAirflowで動かす道のりは続く...
yuukimiya
0
980
Scheduled Queryの運用を楽にするBotを実装してみたお話
yuukimiya
0
210
DPCT発表資料.pdf
yuukimiya
0
9.8k
お家で子どもと楽しむプログラミング
yuukimiya
0
1.5k
Other Decks in Technology
See All in Technology
DatadogのBits Chatが開発組織にもたらしたもの / What Bits Chat Has Brought Us
sms_tech
1
230
OSPN.JPバージョンアップ作業進捗のご報告 / 20260801-osc26kyoto
akkiesoft
0
480
老害フォレンジッカーはAI羊の夢を見るか?
tadmaddad
0
320
【CEDEC2026】『GRANBLUE FANTASY: Relink - Endless Ragnarok』のバトル制作事例 ~最高のキャラゲーを目指して~
cygames
PRO
0
250
カートの信頼性を担保するWireMockを使ったe2eテスト
ykagano
0
200
FORENSIA: ローカルLLMフォレンジックハーネス
sumeshi
2
370
メルカリのグローバルアプリで挑んだ AlloyDB 運用と課題解決の実践記
hatappi
0
240
強化学習「理論」入門
enakai00
3
3.6k
今こそ聞きたいソフトウェア設計 ドメイン駆動設計再入門
masuda220
PRO
17
7.1k
グローバル基準のSREは、運用現場でどう機能したか:成熟度アセスメントの実践 / SRE NEXT 2026
sorawatanabe
0
190
FPGAが実現する遠方宇宙の高空間分解能天体撮影 -大型地上望遠鏡の視力を補正する「補償光学」とは?-
komei_mt
0
220
システム思考で問題に対処する
yussak
0
250
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
270
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
230
Designing Powerful Visuals for Engaging Learning
tmiket
1
480
Marketing to machines
jonoalderson
1
5.7k
Technical Leadership for Architectural Decision Making
baasie
3
470
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
270
How to Talk to Developers About Accessibility
jct
2
500
AI: The stuff that nobody shows you
jnunemaker
PRO
9
900
Music & Morning Musume
bryan
47
7.3k
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 に自動で 予測モデルをデプロイするパ イプラインを作ってみた