


Automatisieren von CSV zu postgresql Einnahme mit Luftstrom und Docker
Dieses Tutorial zeigt, dass das Erstellen einer robusten Datenpipeline mit Apache Airflow, Docker und PostgreSQL erstellt wird, um die Datenübertragung von CSV -Dateien in eine Datenbank zu automatisieren. Wir werden Kern -Luftstromkonzepte wie DAGs, Aufgaben und Betreiber für ein effizientes Workflow -Management abdecken.
Dieses Projekt zeigt, dass eine zuverlässige Datenpipeline erstellt wird, die CSV -Daten liest und in eine PostgreSQL -Datenbank schreibt. Wir werden verschiedene Luftstromkomponenten integrieren, um eine effiziente Datenbehandlung zu gewährleisten und die Datenintegrität aufrechtzuerhalten.
Lernziele:
- Gassen Sie Core Apache -Luftstromkonzepte: DAGs, Aufgaben und Operatoren.
- Richten Sie den Apache -Luftstrom mit Docker für die Workflow -Automatisierung ein und konfigurieren Sie sie.
- Integrieren Sie PostgreSQL für die Datenverwaltung in Luftstrom -Pipelines.
- Master -Lesen von CSV -Dateien und Automatisierung der Dateninsertion in eine PostgreSQL -Datenbank.
- Erstellen und bereitstellen skalierbare, effiziente Datenpipelines mit Luftstrom und Docker.
Voraussetzungen:
- Docker Desktop, VS Code, Docker Compose
- Grundes Verständnis von Docker -Containern und -befehlen
- Grundlegende Linux -Befehle
- Grundlegendes Pythonwissen
- Erleben Sie den Aufbau von Docker -Bildern aus Dockerfiles und verwenden Docker Compose
Was ist Apache Airstrow?
Apache AirFlow (AirFlow) ist eine Plattform für programmgesteuertes Autoring, Planen und Überwachung von Workflows. Das Definieren von Workflows als Code verbessert die Wartbarkeit, die Versionskontrolle, das Testen und die Zusammenarbeit. Die Benutzeroberfläche vereinfacht die Visualisierung von Pipelines, die Überwachung des Fortschritts und die Fehlerbehebung.
Luftstromterminologie:
- Workflow: Ein Schritt-für-Schritt-Prozess, um ein Ziel zu erreichen (z. B. einen Kuchen backen).
- DAG (Directed Acyclic Graph): Ein Workflow -Entwurf, der Aufgabenabhängigkeiten und Ausführungsreihenfolge zeigt. Es ist eine visuelle Darstellung des Workflows.
- Aufgabe: Eine einzelne Aktion in einem Workflow (z. B. Mischung von Zutaten).
- Bediener: Bausteine von Aufgaben, Definieren von Aktionen wie Ausführen von Python -Skripten oder Ausführung von SQL. Zu den wichtigsten Betreibern gehören
PythonOperator
,DummyOperator
undPostgresOperator
. - XCOMS (Cross-Communications): Aktivieren Sie Aufgaben, Daten zu kommunizieren und zu teilen.
- Verbindungen: Verwalten Sie Anmeldeinformationen für die Verbindung zu externen Systemen (z. B. Datenbanken).
Einrichten von Apache Airstrow mit Docker und Dockerfile:
Die Verwendung von Docker sorgt für eine konsistente und reproduzierbare Umgebung. Eine Dockerfile
automatisiert die Bilderstellung. Die folgenden Anweisungen sollten als Dockerfile
gespeichert werden (keine Erweiterung):
Aus Apache/Luftstrom: 2.9.1-Python3.9 Benutzer root Kopieren usads.txt /Requirements.txt PIP3-Installieren-upgrade pip && pip3 install-no-cache-dir -r /Requirements.txt Rühren Sie PIP3 aus und installieren Sie Apache-Airflow-Providers-Apache-Spark Apache-Airflow-Providers-Amazon Führen Sie APT-Get-Update && apt-Get Install -y GCC Python3-dev openjdk-17-jdk && apt-Get Clean aus
Diese Dockerfile
verwendet ein offizielles Luftstrombild, installiert Abhängigkeiten von requirements.txt
.
Docker Compose Configuration:
docker-compose.yml
orchestriert die Docker-Container. Die folgende Konfiguration definiert Dienste für Webserver, Scheduler, Triggerer, CLI, Init und PostgreSQL. Beachten Sie die Verwendung des x-airflow-common
Abschnitts für gemeinsam genutzte Einstellungen und die Verbindung zur PostgreSQL-Datenbank. (Der vollständige docker-compose.yml
ist zu lang, um hier einzuschließen, aber die wichtigsten Abschnitte sind oben dargestellt).
Projekt -Setup und Ausführung:
- Erstellen Sie ein Projektverzeichnis.
- Fügen Sie die Dateien
Dockerfile
unddocker-compose.yml
hinzu. - Erstellen Sie
requirements.txt
- Führen Sie
docker-compose up -d
durch, um die Container zu starten. - Greifen Sie auf die Airflow UI unter
http://localhost:8080
zu. - Erstellen Sie eine PostgreSQL -Verbindung in der Air -Flow -Benutzeroberfläche (mithilfe von
write_to_psql
als Verbindungs -ID). - Erstellen Sie eine Beispiel
input.csv
-Datei.
Dag und Python -Funktion:
Der Luftstrom -DAG ( sample.py
) definiert den Workflow:
- Ein
PostgresOperator
erstellt die Datenbanktabelle. - Ein
PythonOperator
(generate_insert_queries
) liest den CSV und generiert SQLINSERT
-Anweisungen, wodurch sie indags/sql/insert_queries.sql
speichert. - Ein anderer
PostgresOperator
führt den generierten SQL aus.
(Der vollständige sample.py
-Code ist zu lang, um hier einzuschließen, aber die Schlüsselabschnitte sind oben angezeigt.)
Abschluss:
Dieses Projekt zeigt eine vollständige Datenpipeline mit Luftstrom, Docker und PostgreSQL. Es unterstreicht die Vorteile der Automatisierung und die Verwendung von Docker für reproduzierbare Umgebungen. Die Verwendung von Operatoren und die DAG -Struktur ist der Schlüssel zum effizienten Workflow -Management.
(Die verbleibenden Abschnitte, einschließlich FAQs und Github Repo, sind für die Kürze weggelassen. Sie sind im ursprünglichen Eingang vorhanden.)
Das obige ist der detaillierte Inhalt vonAutomatisieren von CSV zu postgresql Einnahme mit Luftstrom und Docker. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Der Artikel überprüft Top -KI -Kunstgeneratoren, diskutiert ihre Funktionen, Eignung für kreative Projekte und Wert. Es zeigt MidJourney als den besten Wert für Fachkräfte und empfiehlt Dall-E 2 für hochwertige, anpassbare Kunst.

Metas Lama 3.2: Ein Sprung nach vorne in der multimodalen und mobilen KI Meta hat kürzlich Lama 3.2 vorgestellt, ein bedeutender Fortschritt in der KI mit leistungsstarken Sichtfunktionen und leichten Textmodellen, die für mobile Geräte optimiert sind. Aufbau auf dem Erfolg o

Der Artikel vergleicht Top -KI -Chatbots wie Chatgpt, Gemini und Claude und konzentriert sich auf ihre einzigartigen Funktionen, Anpassungsoptionen und Leistung in der Verarbeitung und Zuverlässigkeit natürlicher Sprache.

In dem Artikel werden Top -KI -Schreibassistenten wie Grammarly, Jasper, Copy.ai, Writesonic und RYTR erläutert und sich auf ihre einzigartigen Funktionen für die Erstellung von Inhalten konzentrieren. Es wird argumentiert, dass Jasper in der SEO -Optimierung auszeichnet, während KI -Tools dazu beitragen, den Ton zu erhalten

Das jüngste Memo von Shopify -CEO Tobi Lütke erklärt kühn für jeden Mitarbeiter eine grundlegende Erwartung und kennzeichnet eine bedeutende kulturelle Veränderung innerhalb des Unternehmens. Dies ist kein flüchtiger Trend; Es ist ein neues operatives Paradigma, das in P integriert ist

Die KI -Landschaft dieser Woche: Ein Wirbelsturm von Fortschritten, ethischen Überlegungen und regulatorischen Debatten. Hauptakteure wie OpenAI, Google, Meta und Microsoft haben einen Strom von Updates veröffentlicht, von bahnbrechenden neuen Modellen bis hin zu entscheidenden Verschiebungen in LE

Hey da, codieren Ninja! Welche Codierungsaufgaben haben Sie für den Tag geplant? Bevor Sie weiter in diesen Blog eintauchen, möchte ich, dass Sie über all Ihre Coding-Leiden nachdenken-die Auflistung auflisten diese auf. Erledigt? - Lassen Sie ’

Der Artikel überprüft Top -KI -Sprachgeneratoren wie Google Cloud, Amazon Polly, Microsoft Azure, IBM Watson und Descript, wobei sie sich auf ihre Funktionen, die Sprachqualität und die Eignung für verschiedene Anforderungen konzentrieren.
