Data Pipelines with Apache Airflow読んだ
内容
- Airflowの概要
- ワークフローエンジンのご利益
- 提供する機能の概要(スケジュール、DAG)
- Airflowを選ぶ理由、選ばない理由
- Airflowの入門
- DAGの例
- Task・Operator
- Airflow UI
- スケジュール
- テンプレート
- Task間の依存定義
- トリガー
- 外部システム(S3やRDB)との連携
- Operator、Hookの例の説明
- 独自のコンポーネントの作り方(Operator、Hook、Sensor)
- テスト
- Airflowとコンテナ
- PythonOperatorだと依存関係大変になるので、DockerOperator・KubernetesPodOperator使う話
- ベストプラクティス
- 本番デプロイ(Executor、ログ、監視)
- セキュリティ(認証・認可)
- クラウドサービス
* Azure、GCP、AWS、Astronomer
- (著者の一人がAstornomerの中の人ですが、意外とAstronomerの話題少ないです)
- サンプル・プロジェクト
- タクシーデータをAPIで取得して、変更
その他
- Airflowは2系で大きく機能が増えましたが、この本は基本的に1系(1.10?)です。一部2系に関する補足説明があります
- TaskFlow API等
- いくつかAirflow以外の話題がありますが、それに関しては説明があるので予備知識なくても大丈夫だと思います
- pytest
- Dockerコンテナ
- Sagemaker
著者
- Bas Harenslakさん
- AstronomerのSolution Architect・Airflowのcommitter
- Julian de Ruiter さん
- GoDataDriven(データエンジニアリングのコンサル会社)のデータサイエンティスト・MLエンジニア
感想
- 一冊まるごとAirflowな、(たぶん)初めて・唯一の本。Airflow使うなら読んで損はないかと
- 本以外なら、公式ドキュメントかUdemyにいくつかコース(例)が良さそう
- 入門の章は公式ドキュメントで十分かも。テストとかベストプラクティスあたりの価値が高いと思う
- 他のワークフローエンジンとの比較(e.g. DagsterやPrefect)はあまりないです
- Airlfowの「できるけどやらない方がいい事」、「やるなら注意してやるべき事」を説明してくれているのが、良きかな
- execution dateの説明に一節丸ごと使っているのが面白い。Airflowでわかりにくい&引っかかりやすい概念なんだな