山下勝美(10)22この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。最近、業務でAirflowを初めて触りました。調査したこと、試しに動かしてみたことなどまとめてみます。複数のタスクの実行順序を定義するワークフローの作成、実行のスケジューリング、監視などを行うことができます。Incubatorプロジェクトになっています(参考)。Airflowでは、DAG(有向非巡回グラフ)でワークフローを表現します。その基本的なコンセプトについては下記の記事で解説されていますので、ご参照ください。ありますので、これを利用します。実行前準備GitHubからファイルを取得します。修正することをお勧めします。適当に最近の日付に修正しましょう。1),}実行docker-composeコマンドで起動します。アクセスすると、以下のような画面になります。左の"Off"と書いてあるスイッチのようなものが実行のスイッチです。start_dateから今日までの分のジョブが順次実行されます。Dagボタンをクリックすると、手動で実行することもできます。Runs"からは、Dagの実行結果一覧を見ることができます。View"ボタンをクリックすると、Dagの各タスクの状態をツリー形式で見ることができます。図の四角いマークが1つ1つのタスクです。これを選択して個別に再実行することもできます。*2この他にもUIには様々な機能があります。触ってみると面白いです。ECSで動かしてみます。Compose設定ファイルを使えるので便利そう、と思って使ってみました。Composeの全てをサポートしてはおらず、色々修正が必要で結構ハマりました。以下に実行したファイルを置いてあります。https://github.com/ktsmy/airflow-on-ecs-sample以下のような感じで動かすことができます。ec2-tutorial参考までに、修正した点を記載しておきます。CLIはdepends_onをサポートしていないため、代わりにlinksを使う必要がありました。Logsで見られるように、logging設定を追加しました最初t2.microなどの小さなインスタンスで試していたのですがすぐにメモリ不足で落ちるため、メモリ大きめのインスタンスタイプがよさそうです。自分はr5.largeにしました。最後にAirflowを触ってみました。簡単なサンプルのDAGを動かしただけですが、かなり高機能で色々使えそうな印象でした。AWSのサービスの連携も可能なようなので、引き続き色々触ってみたいと思います。Documentationpuckel/docker-airflow脚注デフォルトでは1日1回00:00に実行するようスケジューリングされます。実行開始するとstart_dateから現在までの分が実行され始めるため、start_dateが古いと大量のDAGが実行されてしまいます。start_dateは最近の日付にしておくと良さげです。↩デフォルトのExecutor(SequentialExecutor)ではできません。CeleryExecutorであれば可能です。101,768サービスグループ所属。プロフィール画像のキーホルダーは某地方の深夜番組のグッズです。ちなみに鍵ごと無くしました。リモート】クラスメソッドの会社説明会を開催しますクラスメソッドでは、AWS・AI・ビッグデータ・モバイルなどの技術職や営業のメンバーとして一緒にお仕事をする仲間を大募集しています。#cmdevio新型コロナウイルスの感染拡大を受け、本イベントを延期させていただくことになりました(開催時期未定)。お申し込みいただいた皆様には大変申し訳ございませんが、何卒ご理解いただけますようよろしくお願いいたします。AWSについてライトに色んな情報交換をしましょう。カフェ店長のオカノです。今日はオフィスに用があるので、通勤ラッシュを避けて出社しました。この子は新メンバーのさめくんです。在宅勤務が推奨されているのでオフィスが閑散としており、すこしさみしそうです。使いたいときの注意点を書きました。本が出ていたので読んでみたところよかったので紹介させていただきます。