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

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

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

このチュートリアルは、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エージェントとは何ですか? - 分析とアプリケーションガイド
    Artificial Intelligence (AI) is rapidly evolving, and 2025 is shaping up to be the year of AI agents. But what are AI agents...
    AI 2025-05-01に投稿
  • PythonのOpenCVとRoboflowによる性別検出-AnalyticsVidhya
    PythonのOpenCVとRoboflowによる性別検出-AnalyticsVidhya
    導入 フェイシャル画像からのジェンダー検出は、コンピュータービジョンの多くの魅力的なアプリケーションの1つです。このプロジェクトでは、OpenCVを対立する場所と性別分類のためにRoboflow APIを組み合わせて、顔を識別し、それらをチェックし、性別を予測するデバイスを作成します。この直接は、コ...
    AI 2025-04-29に投稿されました
  • 最初のマシン思考:戦略的AIの台頭
    最初のマシン思考:戦略的AIの台頭
    STRATEGIC AI Prologue 11. May 1997, New York City. It was a beautiful spring day in New York City. The skies were clear, and temperatures were climbin...
    AI 2025-04-29に投稿されました
  • 8 LLMの本質的な無料および有料API推奨事項
    8 LLMの本質的な無料および有料API推奨事項
    LLMSの力の活用:大規模な言語モデルのAPIのガイド 今日のダイナミックなビジネスランドスケープでは、API(アプリケーションプログラミングインターフェイス)がAI機能の統合と利用方法に革命をもたらしています。 それらは重要な橋として機能し、大規模な言語モデル(LLM)を多様なソフトウェアエコ...
    AI 2025-04-21に投稿されました
  • ユーザーガイド:FALCON 3-7B指示モデル
    ユーザーガイド:FALCON 3-7B指示モデル
    TIIのファルコン3:オープンソースの革新的な飛躍ai TIIのAIの再定義の野心的な追求は、Advanced Falcon 3モデルで新たな高みに達します。 この最新のイテレーションは、新しいパフォーマンスベンチマークを確立し、オープンソースAIの機能を大幅に進めます。 Falcon 3...
    AI 2025-04-20に投稿しました
  • deepseek-v3対gpt-4oおよびllama 3.3 70b:明らかにされた最強のAIモデル
    deepseek-v3対gpt-4oおよびllama 3.3 70b:明らかにされた最強のAIモデル
    The evolution of AI language models has set new standards, especially in the coding and programming landscape. Leading the c...
    AI 2025-04-18に投稿されました
  • トップ5 AIインテリジェントな予算編成ツール
    トップ5 AIインテリジェントな予算編成ツール
    AIで金融の自由のロックを解除:インドのトップ予算編成アプリ あなたはあなたのお金がどこに行くのか絶えず疑問に思ってうんざりしていますか? 法案はあなたの収入をむさぼり食うようですか? 人工知能(AI)は強力なソリューションを提供します。 AI予算編成ツールは、リアルタイムの財務洞察、パーソナ...
    AI 2025-04-17に投稿されました
  • Excel Sumproduct機能の詳細な説明 - データ分析学校
    Excel Sumproduct機能の詳細な説明 - データ分析学校
    Excelの等式関数:データ分析Powerhouse 合理化されたデータ分析のためのExcelの等式関数の力のロックを解除します。この汎用性のある関数は、合計と乗算機能を簡単に組み合わせて、対応する範囲または配列全体の追加、減算、および分割に拡張します。 傾向を分析するか、複雑な計算に取り組む...
    AI 2025-04-16に投稿されました
  • 詳細な調査は完全にオープンで、ChatGptとユーザーの利点があります
    詳細な調査は完全にオープンで、ChatGptとユーザーの利点があります
    Openaiの深い研究:AI研究のためのゲームチェンジャー Openaiは、すべてのChatGPTと加入者の深い研究を解き放ち、研究効率の大幅な後押しを約束しています。 Gemini、Grok 3、Perplexityなどの競合他社から同様の機能をテストした後、Openaiの深い研究を優れた選...
    AI 2025-04-16に投稿されました
  • Amazon Nova Today Real Experience and Review -AnalyticsVidhya
    Amazon Nova Today Real Experience and Review -AnalyticsVidhya
    AmazonがNovaを発表する:強化されたAIおよびコンテンツ作成のための最先端の基礎モデル Amazonの最近のRe:Invent 2024イベントは、AIとコンテンツの作成に革命をもたらすように設計された、最も高度な基礎モデルのスイートであるNovaを紹介しました。この記事では、Novaの...
    AI 2025-04-16に投稿されました
  • ChatGPTタイミングタスク関数を使用する5つの方法
    ChatGPTタイミングタスク関数を使用する5つの方法
    ChatGptの新しいスケジュールされたタスク:ai で一日を自動化する ChatGptは最近、ゲームを変える機能:スケジュールされたタスクを導入しました。 これにより、ユーザーはオフライン中であっても、所定の時期に通知または応答を受信して​​、繰り返しプロンプトを自動化できます。毎日のキュレ...
    AI 2025-04-16に投稿されました
  • 3つのAIチャットボットのうち、同じプロンプトに応答するのはどれですか?
    3つのAIチャットボットのうち、同じプロンプトに応答するのはどれですか?
    Claude、ChatGpt、Geminiなどのオプションを使用して、チャットボットを選択すると圧倒的に感じることができます。ノイズを切り抜けるために、同一のプロンプトを使用して3つすべてをテストに入れて、どちらが最良の応答を提供するかを確認します。すべてのツールと同様に、出力はそれを使用す...
    AI 2025-04-15に投稿されました
  • chatgptで十分で、専用のAIチャットマシンは必要ありません
    chatgptで十分で、専用のAIチャットマシンは必要ありません
    新しいAIチャットボットが毎日起動している世界では、どちらが正しい「1つ」であるかを決定するのは圧倒的です。しかし、私の経験では、CHATGPTは、プラットフォーム間を切り替える必要なく、私が投げたすべてのものを、少し迅速なエンジニアリングで処理します。 スペシャリストAIチャットボットは、多く...
    AI 2025-04-14に投稿されました
  • インドの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に投稿されました

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

Copyright© 2022 湘ICP备2022001581号-3