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:
| SQL | NoSQL | |
|---|---|---|
| Beschreibung | relational | nicht-relational |
| Anwendung | Abfrage zum Analysieren und Abrufen von Daten | für eine Vielzahl moderner Anwendungen wie WebApps geeignet |
| Abfragesprache | SQL | mehrere Sprachen je nach Anwendung |
| Typ | Tabelle | Dokument / Graph / Key-Value |
| Schema | festgelegt und vordefiniert | dynamisch |
| Data Management System (Beispiele) | Oracle, PostGres, MySQL | MongoDB, Neo4J |
| Eignet sich für | komplexe und intensive Abfragen | Große Datenbanken, Big Data |
| Entwicklungsjahre | 70er Jahre | 2000er |
| Open Source | Open Source (PostGres, MySQL) und proprietäre Systeme (Oracle) | Open Source |
| Vorteile | optimierte Datenspeicherung und Stabilität | einfache und flexible Speicherung |
| Nachteile | keine Flexibilität, erforderliche Expertise | manchmal zu flexibel |
.tg {border-collapse:collapse;border-spacing:0;}
.tg td{border-color:black;border-style:solid;border-width:1px;font-family:Arial, sans-serif;font-size:14px;
overflow:hidden;padding:10px 5px;word-break:normal;}
.tg th{border-color:black;border-style:solid;border-width:1px;font-family:Arial, sans-serif;font-size:14px;
font-weight:normal;overflow:hidden;padding:10px 5px;word-break:normal;}
.tg .tg-yj5y{background-color:#efefef;border-color:inherit;text-align:center;vertical-align:top}
.tg .tg-dvid{background-color:#efefef;border-color:inherit;font-weight:bold;text-align:left;vertical-align:top}
.tg .tg-y698{background-color:#efefef;border-color:inherit;text-align:left;vertical-align:top}
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 |
.tg {border-collapse:collapse;border-spacing:0;}
.tg td{border-color:black;border-style:solid;border-width:1px;font-family:Arial, sans-serif;font-size:14px;
overflow:hidden;padding:10px 5px;word-break:normal;}
.tg th{border-color:black;border-style:solid;border-width:1px;font-family:Arial, sans-serif;font-size:14px;
font-weight:normal;overflow:hidden;padding:10px 5px;word-break:normal;}
.tg .tg-d78e{background-color:#9aff99;text-align:center;vertical-align:top}
.tg .tg-cmwg{background-color:#ffccc9;text-align:center;vertical-align:top}
.tg .tg-s47q{background-color:#9aff99;font-size:20px;font-weight:bold;text-align:center;vertical-align:top}
.tg .tg-rjvs{background-color:#ffccc9;font-size:20px;font-weight:bold;text-align:center;vertical-align:top}
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.
?Auch interessant:

