Airflow
■ はじめに https://dk521123.hatenablog.com/entry/2024/10/05/234219 の続き。 前回の記事の内容が、ほとんど「Backfill」だったので 今回は、「Catchup」を集中で取り上げる 目次 【1】Catchup 【2】設定方法 1)DAG 2)airflow.cfg 【3】Hello Worl…
■ はじめに 久しぶりに、Airflow について扱っており、 リカバリのために「Backfill」ってものを学んだので メモしておく 目次 【1】予備知識:DAG 1)start_date 2)end_date 3)schedule_interval 【2】Backfill 1)backfill コマンド 2)Hello Wor…
■ はじめに https://dk521123.hatenablog.com/entry/2024/06/13/222403 で、Apache Airflow(MWAA)の単体試験を扱った。 今回は、それをLocalで動かせる環境を構築する 目次 【0】前提条件 【1】構築手順 0)ディレクトリ構成 1)docker-compose を作成…
■ はじめに Airflow の単体試験をすることになりそうなので予習。 目次 【1】Airflow の単体試験 1)Airflow's Best Practices 2)テスティングフレームワークの選定 【2】Airflowのテストモード 1)設定方法1:環境変数 UNIT_TEST_MODE に指定 2)設…
■ はじめに MWAA で 軽微なトラブルだったが 学びが色々とあったので、メモっておく 今日の教訓 Python 製 で JSON は、 シングルクォーテーション(')ではなく ダブルクォーテーション(")で囲んだ方が トラブル少なく済みそう 【1】現象 MWAA で Secret…
■ はじめに https://dk521123.hatenablog.com/entry/2023/12/17/000000 で、Apache Airflow の Variable について扱った。 今回は、AWS MWAAでの Variable について扱う。 目次 【1】公式ドキュメントのサンプル 1)前提条件 2)サンプル 【2】AWS CLI …
■ はじめに Amazon Managed Workflows for Apache Airflow (MWAA) を Terraform で作る。 なお、MWAA および Airflow については、以下の関連記事を参照のこと。 MWAA ~ 入門編 ~ https://dk521123.hatenablog.com/entry/2021/09/29/131101 Apache Airflow…
■ はじめに Apache Airflow の 設定値を保持する仕組み・機構が揃っているので、 その内の Variable について扱う 目次 【0】設定値の保持 - Variable 【1】Web UIからデータ追加 【2】CLIからデータ追加 【3】REST APIからデータ追加 【4】DAG からデ…
■ はじめに Airflow で、Task 間で値を受け渡す際に必要な XComs について 多く触れることになりそうなので、メモっておく 目次 【1】XComs 【2】関連するAPI 1)xcom_push 2)xcom_pull 【3】サンプル 例1:Airflow v1 例2:Airflow v2 【1】XComs …
■ はじめに https://dk521123.hatenablog.com/entry/2021/10/04/230703 で、S3 Sensorを取り扱ったが Apache Airflow の Sensor (センサ) 自体を扱うことになったので メモる。 目次 【1】Sensor 【2】主なSensor 1)ExternalTaskSensor 2)FileSensor …
■ はじめに MWAA Local で AWSに繋げるようにする必要ができたのでメモ。 あと、個人的なことで作業が簡単になるように MWAA Local をちょこっと改造する 目次 【1】MWAA Local で AWSに繋げるようにするには Case1:docker/config/.env.localrunner に追…
■ はじめに https://dk521123.hatenablog.com/entry/2021/11/05/233309 https://dk521123.hatenablog.com/entry/2021/11/07/132014 の続き。 AWS MWAAを使うことになり、 開発環境として、MWAA Local (aws-mwaa-local-runner)を 使うことになるとのことなの…
■ はじめに Airflow から EMR を立ち上げる方法についてメモる。 目次 【0】EMR種類 【1】EMR Serverless 【2】EMR 【0】EMR種類 * EMR には、以下の種類があり、使用するOperatorも変わる 1)EMR Serverless 2)EMR (on EC2) など # 他にも「Amazon E…
■ はじめに 久しぶりに、AirflowのDAGを作成することになったのだが 大分時間が経ってしまったので、ほとんど覚えておらず。。。 なので、今回は、そんなダメな自分への備忘録として DAGを作成することに特化したものを作る。 完全なリハビリ(復習)みたい…
■ はじめに https://dk521123.hatenablog.com/entry/2021/07/18/004531 https://dk521123.hatenablog.com/entry/2021/10/11/134840 の続き。 今回は、久しぶりに、Apache Airflow で、 Kubernetes で環境構築していく。 目次 【0】今回学べること 【1】前…
■ はじめに https://dk521123.hatenablog.com/entry/2022/01/13/101634 の「実行タイミングに関わる引数」で、 「start_date」「end_date」「schedule_interval」「catchup」「timetable」 について扱ったが、掘り下げてみる。 目次 【0】Airflowの実行タイ…
■ はじめに Apache Airflow の DAG の コンストラクタ引数やデフォルト引数について 調査する必要ができたので、メモ。 目次 【0】DAGの引数 【1】基本的な引数 1)dag_id 2)description 3)default_args 4)tags 【2】実行タイミングに関わる引数 …
■ はじめに https://dk521123.hatenablog.com/entry/2021/11/05/233309 の続き。 MWAA Localの 環境構築としてDocker composeを使い aws-mwaa-local-runner と LocalStack と組み合わせにする。 目次 【1】構築方針 1)前提条件 【2】構築手順 1)docker…
■ はじめに MWAA での単体試験 (Unit tests) について調査していたら、 以下のAWS公式ブログがヒットした。 https://aws.amazon.com/jp/blogs/opensource/automating-a-dag-deployment-with-amazon-managed-workflows-for-apache-airflow/ 上記によると、aws…
■ はじめに https://dk521123.hatenablog.com/entry/2021/10/10/000000 でリトライ(Re-run)を扱ったが、その調査の過程で、 以下のサイト https://blog.imind.jp/entry/2019/02/22/000049 などで コマンド(CLI; Command Line Interface)からでも、 タス…
■ はじめに https://dk521123.hatenablog.com/entry/2021/10/10/000000 https://dk521123.hatenablog.com/entry/2021/10/12/000000 の続き。 今回は、同実行数などの並列・マルチスレッド関連の設定について扱う 目次 【1】airflow.cfgでの制御 - Airflow全…
■ はじめに 色々と Airflow を触っていると 設定値を保持する仕組み・機構が揃っているので、 その内の Connection について扱う Apache Airflow ~ Variable ~ https://dk521123.hatenablog.com/entry/2023/12/17/000000 目次 【0】コネクションの保持 - …
■ はじめに Apache Airflow の タイムアウト について扱う。 目次 【1】DAGのタイムアウト関連のプロパティ 1)dagrun_timeout 2)dag_file_processor_timeout 3)dagbag_import_timeout 4)使用イメージ 【2】タスクのタイムアウト関連のプロパティ …
■ はじめに https://dk521123.hatenablog.com/entry/2021/07/18/004531 で、ローカル上に Airflowの環境を構築したが、 いつの間にか環境がぶっつぶれた。 どうせなら、Dockerでやってみようと思ったので、メモ。 目次 【1】前提条件 【2】構築環境例 【3…
■ はじめに Apache Airflow の リトライ について扱う。 目次 【1】手動でリトライ - 再実行 【2】airflow.cfgでの制御 - Airflow全体の設定 1)default_task_retries 2)max_db_retries 【3】タスクのリトライ関連のプロパティ 1)retries 2)retry_…
■ はじめに https://dk521123.hatenablog.com/entry/2021/10/06/141323 の続き。 通知に関するサンプルをまとめておく。 目次 例1:SlackAPIPostOperatorを使ってSlackへ通知 1)前提条件 2)サンプル 例2:SlackWebhookOperatorを使ってSlackへ通知 1…
■ はじめに https://dk521123.hatenablog.com/entry/2021/09/29/131101 で、MWAA(Amazon Managed Workflow for Apache Airflow)を 使っていて、出くわした問題について、徐々にでは、 その解決方法などのトラブルシュートをメモっておく。 今回以外のトラ…
■ はじめに Apache Airflow で処理の失敗時やワークフロー成功時に 以下のサービスへ通知する方法を調べたので、メモっておく。 ~~~~~~~~~~ 【1】Slack 【2】Email / AWS SES 【3】AWS SNS 【4】Microsoft Teams ~~~~~~~~~~ 目次 【0】全般的な注意点 …
■ はじめに https://dk521123.hatenablog.com/entry/2021/09/29/131101 の続き。 今回は、以下のサイトで 使用されている S3 Sensor について調べてみた https://amazon-mwaa-for-analytics.workshop.aws/en/workshop-2.0.2/m1-processing/s3.html 目次 【1…
■ はじめに https://dk521123.hatenablog.com/entry/2021/07/18/004531 で発生したトラブルを纏めておく。 目次 【1】Dockerによる環境設定でdocker-compose up後にエラー表示 【2】エラー「ModuleNotFoundError: No module named 'airflow.providers'」が…