本番パイプラインの作成

Python で学ぶ Apache Airflow 入門

Mike Metzger

Data Engineer

DAGとタスクの実行

特定のタスクをコマンドラインで実行するには:

airflow tasks test <dag_id> <task_id> <date>

DAG全体を実行するには:

airflow dags trigger --logical-date <date> <dag_id>
Python で学ぶ Apache Airflow 入門

タスクの復習

  • @task - Python関数をAirflowタスクとして指定
  • @task.bash - bashコマンドの結果をAirflowタスクとして返す
  • @task.branch - DAG内で実行時に分岐を行う演算子
  • FileSensor - filepath引数が必要。modeまたはpoke_interval属性が必要な場合もあり
Python で学ぶ Apache Airflow 入門

テンプレートの注意事項

  • Airflowの多くのオブジェクトでテンプレートを使用できます
  • テンプレート文字列を使用できるフィールドとそうでないフィールドがあります
  • 確認方法の一つとして、組み込みドキュメントを活用できます:
  1. python3インタープリターを起動
  2. 必要なライブラリをインポート(例:from airflow.sdk import dag, task
  3. プロンプトでhelp(<Airflowオブジェクト>)を実行(例:help(task)
  4. template_fieldsを参照する行を探します。テンプレートを使用できる引数が記載されています。
Python で学ぶ Apache Airflow 入門

テンプレートドキュメントの例

AirflowオブジェクトのPython3ヘルプ出力を表示したターミナル

Airflowヘルプのtemplate_fields行をハイライトしたターミナル出力

Python で学ぶ Apache Airflow 入門

Airflowの活用

ワークフローの作成・スケジューリング・監視のイラスト

Apache Airflowのロゴ

Python で学ぶ Apache Airflow 入門

練習しましょう!

Python で学ぶ Apache Airflow 入門

Preparing Video For Download...