AWS Glue ist ein vollständig verwalteter und skalierbarer Datenverarbeitungsdienst, der es den Nutzern ermöglicht, serverlose ETL-Workflows (Extract, Transform, Load) zu verwenden und so den gesamten Verwaltungsteil der zugrunde liegenden Infrastruktur zu umgehen.
Erinnerung an ETL-Prozesse
ETL ist ein Prozess, der darauf abzielt, die Qualität und Verfügbarkeit der Daten zu gewährleisten. Er ist in drei Phasen unterteilt:
- Extraktion: Abrufen von Daten aus verschiedenen Quellen.
- Transformation: Bereinigung, Normalisierung, Veränderung der Daten, um sie nutzbar zu machen.
- Laden: Lädt die umgewandelten Daten in eine Endumgebung, z. B. eine Datenbank oder ein Data Warehouse.
Wie ist AWS Glue aufgebaut?
AWS Glue-Jobs erledigen das, was nötig ist, um Daten von einer Quelle zu einem Ziel zu extrahieren, umzuwandeln und zu laden. Das folgende Diagramm zeigt die Architektur von AWS Glue, und wir beschreiben dann die verschiedenen Elemente:
- Data Catalog (Datenkatalog): Dies ist der permanente Metadatenspeicher in AWS Glue. Er enthält u. a. Tabellendefinitionen, Jobdefinitionen usw.
- Datenbank: Dies ist ein Satz von Tabellendefinitionen von zugehörigen Datenkatalogen.
- Crawler: Das ist ein Programm, das sich mit einer Datenquelle verbindet, um deren Daten zu extrahieren und ihre Struktur zu bestimmen. Anschließend verwendet es diese Informationen, um Tabellendefinitionen im Datenkatalog zu erstellen.
- Verbindung: Diese AWS Glue-Verbindung ist der Datenkatalog, der die Informationen enthält, die notwendig sind, um sich mit einem bestimmten Datenspeicher zu verbinden.
- Klassifizierer: Er bestimmt das Datenschema. AWS Glue stellt Klassifizierer für die gängigsten Dateitypen wie CSV, Json usw. bereit.
- Datenspeicher: Repository für die persistente Speicherung von Daten.
- Data source: Dies ist der Eingabepunkt, der für den Transformationsprozess verwendet wird.
- Data target: Das ist das Ziel, in das die Daten nach der Umwandlung geschrieben werden.
- Job: Geschäftslogik, die für die ETL-Arbeit benötigt wird und aus den verschiedenen notwendigen Elementen besteht.
Die Funktionen von AWS Glue
AWS Glue ermöglicht dir eine umfassende Verwaltung deiner ETL-Prozesse durch verschiedene Funktionen, von denen die folgenden die wichtigsten und bedeutendsten sind:
Daten sammeln und integrieren | AWS Glue ermöglicht das Sammeln und Integrieren von Daten aus verschiedenen Quellen, wie z. B. Datenbanken, Flat Files, Streaming-Daten usw. | |
---|---|---|
Datentransformation | Bietet eine Reihe von Werkzeugen zur Transformation von Daten, einschließlich Datenverarbeitungsfunktionen, Filter-, Sortier- und Join-Operationen usw. | |
Datenkatalog | Ermöglicht die Erstellung und Verwaltung eines Metadatenkatalogs, der die Entdeckung, Suche und Analyse von Daten erleichtert. | |
Ausführung und Planung von ETL-Aufgaben | AWS Glue ermöglicht die Planung und Ausführung von ETL-Aufgaben, um große Datenmengen zu verarbeiten. | |
Automatisierung des Workflows | Bietet Workflow-Automatisierungsfunktionen, um komplexe Aufgaben mit mehreren Schritten zu orchestrieren. | |
Benutzerdefinierte Jobs | Ermöglicht das Erstellen von benutzerdefinierten Jobs, um bestimmte Anwendungsfälle zu bearbeiten. Benutzerdefinierte Jobs können mithilfe gängiger Programmiersprachen wie Python und Scala erstellt werden. | |
Fehlerbehandlung | Ermöglicht die Behandlung von Fehlern, die bei der Datenverarbeitung auftreten, wie Syntaxfehler oder Konnektivitätsprobleme. | |
Überwachung | AWS Glue bietet Überwachungsfunktionen, um die Leistung von ETL-Jobs zu verfolgen, Fehler und Leistungsprobleme zu erkennen und die Ressourcennutzung zu optimieren. |
Vor- und Nachteile von AWS Glue
Bevor du dich mit der Nutzung und dem Erlernen von AWS Glue beschäftigst, ist es wichtig, die Vorteile, aber auch die Nachteile zu bedenken:
Vorteile | Nachteile |
---|---|
Große Datenmengen verwalten | Hohe Kosten für kleine Unternehmen oder kleine Projekte, trotz der Tatsache, dass der Dienst vollständig verwaltet wird |
Geschwindigkeit bei der Verarbeitung von Daten | Lernkurve sehr groß |
Integration mit anderen AWS-Diensten | Begrenzte Anpassungen von Workflows |
Unterstützt mehrere Programmiersprachen | Erfordert Expertise im Data Engineering |
Vollständig verwaltete Plattform | |
Integrierter Metadatenkatalog |
Fazit
Wie du sicherlich verstanden hast, ist AWS Glue ein vollständig von Amazon AWS verwalteter Dienst zur Verwaltung von ETL-Workflows. Seine große Leistungsfähigkeit und Flexibilität erfordert jedoch eine Lernkurve und eine sehr hohe Investition, um ihn so einzurichten, dass er die erforderlichen Anforderungen erfüllt.