「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > AI > 気流とDockerを使用してCSVのインポートをPostgreSQLに自動化する

気流とDockerを使用してCSVのインポートをPostgreSQLに自動化する

2025-04-12に投稿されました
ブラウズ:813

このチュートリアルは、Apache Airflow、Docker、およびPostgreSQLを使用して堅牢なデータパイプラインを構築して、CSVファイルからデータベースへのデータ転送を自動化することを示しています。 効率的なワークフロー管理のために、DAG、タスク、演算子などのコアエアフローの概念をカバーします。

このプロジェクトでは、CSVデータを読み取り、PostgreSQLデータベースに書き込む信頼できるデータパイプラインの作成を紹介します。さまざまな空気流コンポーネントを統合して、効率的なデータ処理を確保し、データの整合性を維持します。

学習目標:

  • コアApache Airflow Concepts:Dags、Task、および演算子を把握します。
  • ワークフローオートメーション用のDockerを使用してApache Airflowを設定して構成します。
  • エアフローパイプライン内のデータ管理のためにpostgreSQLを統合します。
  • マスターCSVファイルを読み取り、PostgreSQLデータベースへのデータ挿入を自動化します。
  • エアフローとDockerを使用して、スケーラブルで効率的なデータパイプラインを構築および展開します。

前提条件:

  • Dockerデスクトップ、vsコード、Docker Compose
  • dockerコンテナとコマンドの基本的な理解
  • Basic Linuxコマンド
  • Basic Python Knowledge
  • DockerFilesからDocker画像を構築し、Docker Composeを使用して
  • を使用しています。

Apache Airflowとは?

Apache Airflow(Airflow)は、プログラムで作家、スケジューリング、および監視のためのプラットフォームです。 コードとしてワークフローを定義すると、保守性、バージョン制御、テスト、コラボレーションが向上します。そのユーザーインターフェイスは、パイプラインの視覚化、監視の進捗、およびトラブルシューティングを簡素化します。

Automating CSV to PostgreSQL Ingestion with Airflow and Docker

エアフロー用語:

  • ワークフロー:目標を達成するための段階的なプロセス(例えば、ケーキを焼く)。
  • dag(lidected acyclicグラフ):タスクの依存関係と実行順序を示すワークフローの青写真。 これは、ワークフローの視覚的な表現です。 Automating CSV to PostgreSQL Ingestion with Airflow and Docker
  • タスク:ワークフロー内の単一のアクション(例:材料の混合)。
  • 演算子:タスクのブロックを構成し、Pythonスクリプトの実行やSQLの実行などのアクションを定義します。 主要な演算子には、 pythonoperator dummyoperator 、および postgresoperator
  • xcoms(相互通信):タスクがデータを通信して共有できるようにします。
  • connections:外部システムに接続するための資格情報を管理する(例:データベース)。

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 はここに含めるには長すぎますが、重要なセクションは上に表示されています)。

プロジェクトのセットアップと実行:

プロジェクトディレクトリを作成します。
  1. dockerfile
  2. and docker-compose.yml filesを追加します。 create
  3. compoest.txt
  4. 必要なpythonパッケージ(例:pandas)。 run
  5. docker -compose up -d
  6. を起動する。
  7. http:// localhost:8080
  8. でAirflow Uiにアクセス Airflow UI(
  9. write_to_psql
  10. として接続IDとしてpostgreSql接続を作成します。サンプルを作成します
  11. input.csv
  12. file。
dag and python関数:

エアフローダグ(

sample.py

)ワークフローを定義します:

a
    postgresoperator
  • はデータベーステーブルを作成します。 a
  • pythonoperator
  • generate_insert_queries )はcsvを読み取り、 insert siente statementsを生成し、 dags/sql/seats_queries.sql に保存します。 別の postgresoperator 生成されたsql。
  • を実行する
  • (完全 sample.py
  • コードはここに含めるには長すぎますが、重要なセクションは上に表示されています)。

結論:

このプロジェクトは、Airflow、Docker、およびPostgreSQLを使用した完全なデータパイプラインを示しています。 自動化の利点と、再現可能な環境に対するDockerの使用を強調しています。 オペレーターとDAG構造の使用は、効率的なワークフロー管理の鍵です。

(FAQやgithubリポジトリを含む残りのセクションは簡潔に省略されています。それらは元の入力に存在します。)

最新のチュートリアル もっと>
  • インドのAIの瞬間:生成AIにおける中国と米国との競争
    インドのAIの瞬間:生成AIにおける中国と米国との競争
    インドのAI野心:2025アップデート 中国と米国が生成AIに多額の投資をしているため、インドは独自のGenaiイニシアチブを加速しています。 インドの多様な言語的および文化的景観に対応する先住民族の大手言語モデル(LLMS)とAIツールの緊急の必要性は否定できません。 この記事では、インドの急...
    AI 2025-04-13に投稿されました
  • 気流とDockerを使用してCSVのインポートをPostgreSQLに自動化する
    気流とDockerを使用してCSVのインポートをPostgreSQLに自動化する
    このチュートリアルは、Apache Airflow、Docker、およびPostgreSQLを使用して堅牢なデータパイプラインを構築して、CSVファイルからデータベースへのデータ転送を自動化することを示しています。 効率的なワークフロー管理のために、DAG、タスク、演算子などのコアエアフローの概念...
    AI 2025-04-12に投稿されました
  • Swarm Intelligence Algorithms:3つのPython実装
    Swarm Intelligence Algorithms:3つのPython実装
    Imagine watching a flock of birds in flight. There's no leader, no one giving directions, yet they swoop and glide together in perfect harmony. It may...
    AI 2025-03-24に投稿されました
  • ラグ&微調整によりLLMをより正確にする方法
    ラグ&微調整によりLLMをより正確にする方法
    Imagine studying a module at university for a semester. At the end, after an intensive learning phase, you take an exam – and you can recall th...
    AI 2025-03-24に投稿されました
  • Google Geminiとは何ですか? GoogleのChatGptのライバルについて知る必要があるすべて
    Google Geminiとは何ですか? GoogleのChatGptのライバルについて知る必要があるすべて
    Google recently released its new Generative AI model, Gemini. It results from a collaborative effort by a range of teams at Google, including members ...
    AI 2025-03-23に投稿されました
  • DSPYでのプロンプトのガイド
    DSPYでのプロンプトのガイド
    dspy:LLMアプリケーションを構築および改善するための宣言的なフレームワーク dspy(宣言的自己改善言語プログラム)は、迅速なエンジニアリングの複雑さを抽象化することにより、LLMアプリケーション開発に革命をもたらします。 このチュートリアルは、DSPYの宣言的アプローチを使用して強力な...
    AI 2025-03-22に投稿されました
  • ブログをTwitterスレッドに自動化します
    ブログをTwitterスレッドに自動化します
    この記事では、GoogleのGemini-2.0 LLM、Chromadb、およびRiremlitを使用して、長型コンテンツ(ブログ投稿など)のTwitterスレッドの魅力を自動化することを詳しく説明しています。 手動スレッドの作成には時間がかかります。このアプリケーションはプロセスを合理化します...
    AI 2025-03-11に投稿されました
  • 人工免疫系(AIS):Pythonの例を備えたガイド
    人工免疫系(AIS):Pythonの例を備えたガイド
    この記事では、脅威を特定し、中和する人間の免疫系の顕著な能力に触発された計算モデルである人工免疫システム(AIS)を探ります。 AISのコア原則を掘り下げ、クローン選択、ネガティブ選択、免疫ネットワーク理論などの重要なアルゴリズムを調べ、Pythonコードの例でそれらのアプリケーションを説明します...
    AI 2025-03-04に投稿されました
  • ChatGPT に自分自身についての楽しい質問をしてみてください
    ChatGPT に自分自身についての楽しい質問をしてみてください
    ChatGPT があなたについて何を知っているのか疑問に思ったことはありますか?時間をかけて与えられた情報をどのように処理するのでしょうか?私はさまざまなシナリオで ChatGPT ヒープを使用してきましたが、特定のインタラクションの後にそのヒープが何を言うのかを見るのは常に興味深いものです。&#x...
    AI 2024 年 11 月 22 日に公開
  • 謎の GPT-2 チャットボットをまだ試す方法は次のとおりです
    謎の GPT-2 チャットボットをまだ試す方法は次のとおりです
    AI モデルやチャットボットに興味がある場合は、謎の GPT-2 チャットボットとその有効性に関する議論を見たことがあるかもしれません。ここでは、GPT-2 チャットボットとは何か、およびその方法について説明します。 GPT-2 チャットボットとは何ですか? 2024 年 4 月下旬、gpt2-c...
    AI 2024 年 11 月 8 日に公開
  • ChatGPT のキャンバス モードは素晴らしい: 4 つの使用方法
    ChatGPT のキャンバス モードは素晴らしい: 4 つの使用方法
    ChatGPT の新しい Canvas モードは、世界をリードする生成 AI ツールでの書き込みと編集にさらなる次元を追加しました。私は ChatGPT Canvas の発売以来使用してきましたが、この新しい AI ツールを使用するためのいくつかの異なる方法を見つけました。✕ 広告の削除...
    AI 2024 年 11 月 8 日に公開
  • ChatGPT のカスタム GPT がデータを公開する仕組みとその安全性を保つ方法
    ChatGPT のカスタム GPT がデータを公開する仕組みとその安全性を保つ方法
    ChatGPT のカスタム GPT 機能を使用すると、誰でも思いつく限りのほとんどすべてのカスタム AI ツールを作成できます。クリエイティブ、テクニカル、ゲーム、カスタム GPT はすべてを行うことができます。さらに良いのは、カスタム GPT 作成を誰とでも共有できることです。 ただし、カスタ...
    AI 2024 年 11 月 8 日に公開
  • ChatGPT が LinkedIn での仕事の獲得に役立つ 10 の方法
    ChatGPT が LinkedIn での仕事の獲得に役立つ 10 の方法
    2,600 文字が利用できる LinkedIn プロフィールの About セクションは、あなたの経歴、スキル、情熱、将来の目標について詳しく説明するのに最適なスペースです。 LinkedIn の経歴を、あなたの職業上の背景、スキル、願望を簡潔にまとめたものとして表示します。 ChatGPT に...
    AI 2024 年 11 月 8 日に公開
  • ユニークなエクスペリエンスを提供する、あまり知られていない 6 つの AI アプリをチェックしてください
    ユニークなエクスペリエンスを提供する、あまり知られていない 6 つの AI アプリをチェックしてください
    現時点では、AI ブームをリードしてきた 2 つの先駆的な生成 AI アプリである ChatGPT と Copilot については、ほとんどの人が聞いたことがあるでしょう。しかし、あまり知られていない AI ツールの山が素晴らしい、ユニークな体験?ここでは最高のものを 6 つ紹介します。 1 同上ミ...
    AI 2024 年 11 月 8 日に公開
  • これらの 7 つの兆候は、AI がすでにピークに達していることを示しています
    これらの 7 つの兆候は、AI がすでにピークに達していることを示しています
    オンラインでどこを見ても、AI の使用が最良の選択肢になると宣言するサイト、サービス、アプリがあります。あなたはどうか知りませんが、常に存在していると疲れてきます。 AI は確かに私たちの日常生活に定着していますが、AI の誇大宣伝がすでにピークに達していることを示す兆候がいくつかあります。 1 一...
    AI 2024 年 11 月 8 日に公開

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3