Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Airflow社内勉強会@Classi
Search
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
990
Scheduled Queryの運用を楽にするBotを実装してみたお話
yuukimiya
0
210
DPCT発表資料.pdf
yuukimiya
0
9.9k
お家で子どもと楽しむプログラミング
yuukimiya
0
1.5k
Other Decks in Technology
See All in Technology
スキマバイトという雇用形態は存在しないので、雇用期間1日のアルバイト契約を事業者とワーカーが結ぶ手続きを支えるのがタイミーなんです
akitoshiga
0
160
Snapshot Testing in Practice: Predictable and Reliable SwiftUI Views
fespinoza
0
210
AI時代に必要な脅威モデリング― 変化の速度に負けない理解とリスク判断
masakane55
5
1.3k
分析AIエージェントを育てる、動く環境を育てる
codatum
1
1k
遠藤な_めぐろLT #38 「社内のAI活用推進」@麻布台_20261009
endonanana
0
120
【Data Engineering Summit2026_登壇資料】医療ビッグデータ×AIエージェントを支えるデータ基盤とハーネスエンジニアリング
jmdc_presentation
0
140
夫婦で子育てするための育児標準化
codmoninc
PRO
0
210
Conditional PED-ANOVA: Hyperparameter Importance in Hierarchical & Dynamic Search Spaces
pfn
PRO
0
100
AIは「聞けば答える」から「任せると自分で進める」へ - JACTIMペナン地域部会・ペナン三水会講演
knishioka
0
110
Datadog の学び方 - あるいは、オブザーバビリティを学ぶとは何か
mananyuki
1
560
Loop Engineering これくらいでいい
mikanichinose
0
230
不可逆な意思決定を避けながら10億超の顧客データを AI Ready にするデータ基盤設計
baseballyama
1
310
Featured
See All Featured
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
430
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
490
Crafting Experiences
bethany
1
380
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
300
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
7k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Optimising Largest Contentful Paint
csswizardry
37
4k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
Practical Orchestrator
shlominoach
192
12k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
330
Google's AI Overviews - The New Search
badams
0
1.6k
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 に自動で 予測モデルをデプロイするパ イプラインを作ってみた