このチュートリアルは、Apache Airflow、Docker、およびPostgreSQLを使用して堅牢なデータパイプラインを構築して、CSVファイルからデータベースへのデータ転送を自動化することを示しています。 効率的なワークフロー管理のために、DAG、タスク、演算子などのコアエアフローの概念をカバーします。
このプロジェクトでは、CSVデータを読み取り、PostgreSQLデータベースに書き込む信頼できるデータパイプラインの作成を紹介します。さまざまな空気流コンポーネントを統合して、効率的なデータ処理を確保し、データの整合性を維持します。
学習目標:
前提条件:
Apache Airflowとは?
Apache Airflow(Airflow)は、プログラムで作家、スケジューリング、および監視のためのプラットフォームです。 コードとしてワークフローを定義すると、保守性、バージョン制御、テスト、コラボレーションが向上します。そのユーザーインターフェイスは、パイプラインの視覚化、監視の進捗、およびトラブルシューティングを簡素化します。
エアフロー用語:
pythonoperator
、 dummyoperator
、および postgresoperator
。dockerとdockerfileを使用したApache Airflowのセットアップ:
Dockerを使用すると、一貫した再現性のある環境が保証されます。 a dockerfile
は画像作成を自動化します。 次の手順は dockerfile
(拡張子なし)として保存する必要があります:
FROM apache/airflow:2.9.1-python3.9 USER root COPY requirements.txt /requirements.txt RUN pip3 install --upgrade pip && pip3 install --no-cache-dir -r /requirements.txt RUN pip3 install apache-airflow-providers-apache-spark apache-airflow-providers-amazon RUN apt-get update && apt-get install -y gcc python3-dev openjdk-17-jdk && apt-get cleanを実行する
この dockerfile
は公式のエアフロー画像を使用し、 requistry.txt
から依存関係をインストールし、必要なエアフロープロバイダーをインストールします(SparkおよびAWSの例が表示されます。
Docker Compose Configuration:
docker-compose.yml dockerコンテナを調整します。 次の構成では、Webサーバー、スケジューラー、トリガー、CLI、INIT、およびPostgreSQLのサービスを定義します。
x-airflow-common セクションの使用とpostgreSQLデータベースへの接続に注意してください。 (完全
docker-compose.yml はここに含めるには長すぎますが、重要なセクションは上に表示されています)。
プロジェクトディレクトリを作成します。
docker-compose.yml
filesを追加します。
create 。
run
でAirflow Uiにアクセス
Airflow UI(。
サンプルを作成します
エアフローダグ(
sample.py)ワークフローを定義します:
a generate_insert_queries
)はcsvを読み取り、 insert siente statementsを生成し、
dags/sql/seats_queries.sql に保存します。
別の postgresoperator
生成されたsql。(完全
sample.py 結論:
(FAQやgithubリポジトリを含む残りのセクションは簡潔に省略されています。それらは元の入力に存在します。)
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3