AWS Glue
Was ist AWS Glue?
AWS Glue ist ein Cloud-basierter und serverloser Datenintegrationsdienst, der Benutzer dabei unterstützt, Daten durch automatisierte ETL-Prozesse (Extract, Transform, Load) für die Analyse vorzubereiten. Der Dienst bietet einfache und kostengünstige Möglichkeiten, große Datenmengen im Unternehmen zu kategorisieren und zu verwalten und sie für verschiedene Anwendungen wie maschinelles Lernen (ML), Anwendungsentwicklung und Analysen zu nutzen.
Glue von Amazon Web Services (AWS) vereinfacht die Erkennung, Vorbereitung, Übertragung, Integration und Formatierung von Informationen aus unterschiedlichen Datenquellen, sowohl On-Premises als auch in der AWS-Cloud. Es erleichtert auch die Verwaltung und Organisation von Daten im zentralisierten AWS Glue Data Catalog, wo sie analysiert und die Ergebnisse der Analysen für Geschäftsentscheidungen genutzt werden können.
Mit AWS Glue stehen mehrere Datenintegrationsfunktionen zur Verfügung, darunter die folgenden:
- Datenermittlung
- modernes ETL
- Datenbereinigung
- Datentransformation
- zentralisierte Katalogisierung
- Suche und Abfrage katalogisierter Daten mithilfe anderer Amazon-Services wie Amazon Athena, Amazon EMR und Amazon Redshift Spectrum
Der Service umfasst auch DataOps-Tools für die Erstellung von Aufträgen, die Ausführung von Aufträgen und die Implementierung von Geschäftsabläufen. Diese Funktionen und Tools unterstützen sowohl technische als auch nicht-technische Benutzer – von Entwicklern bis hin zu Geschäftsanwendern. Die Integrationsschnittstellen und -Tools von AWS Glue unterstützen auch verschiedene Arten von Arbeitslasten, einschließlich ETL und Streaming, sodass Unternehmen den Wert und die Nutzbarkeit ihrer Daten maximieren können.
So funktioniert AWS Glue
AWS Glue orchestriert ETL-Jobs und extrahiert Daten aus vielen von AWS angebotenen Cloud-Diensten. Der Dienst generiert je nach Anwendung geeignete Ausgabeströme und integriert sie in Data Lakes und Data Warehouses. Er verwendet APIs (Application Programming Interfaces), um den extrahierten Datensatz für die Integration zu transformieren und Benutzern die Überwachung von Jobs zu erleichtern.
Benutzer müssen in AWS Glue Aufträge definieren, um den ETL-Prozess für Daten von der Quelle zum Ziel zu aktivieren. Sie müssen auch festlegen, welche Quelldaten das Ziel (den Bestimmungsort) füllen und wo sich die Zieldaten befinden, damit AWS Glue den Datentransformationscode generieren kann. Diese Quellen und Ziele können beliebige der folgenden AWS-Dienste sein:
- Amazon Simple Storage Service (Amazon S3)
- Amazon Redshift
- Amazon Relational Database Service (Amazon RDS)
- Amazon DocumentDB
Darüber hinaus unterstützt AWS Glue über Java Database Connectivity (JDBC) zugängliche Datenbanken, MongoDB, andere Marketplace-Konnektoren und Apache Spark Plug-ins als Datenquellen und -ziele.
Benutzer können Trigger anwenden, um ETL-Jobs nach einem Zeitplan zu planen oder bestimmte Ereignisse auszuwählen, die einen Job auslösen. Nach dem Auslösen extrahiert AWS Glue die Daten, transformiert sie auf der Grundlage von Skripten, die entweder automatisch von AWS Glue generiert oder vom Benutzer in der AWS-Glue-Konsole oder -API bereitgestellt werden, und transformiert die Daten von der Datenquelle zum Ziel. Die Skripte enthalten die Programmierlogik, die für die Durchführung der Datentransformation erforderlich ist. Die Transformation erfolgt auf der Grundlage der Tabellendefinition der Metadaten im AWS-Glue-Datenkatalog, die auf der Grundlage des benutzerdefinierten Crawlers für Datenspeicherquellen gefüllt werden, sowie der definierten Auslöser zum Initiieren von Aufträgen.

Der Service kann automatisch die strukturierten oder unstrukturierten Daten eines Unternehmens finden, wenn diese in Data Lakes in S3, Data Warehouses in Amazon Redshift und anderen Datenbanken, die Teil von Amazon RDS sind, gespeichert sind. Glue unterstützt auch MySQL-, Oracle-, Microsoft-SQL-Server- und PostgreSQL-Datenbanken, die auf Instanzen von Amazon Elastic Compute Cloud in Amazon Virtual Private Cloud ausgeführt werden.
Der Service erstellt dann Datenprofile im Datenkatalog, einem Metadaten-Repository für alle Daten-Assets, die Details wie Tabellendefinition, Speicherort und andere Attribute enthalten. Ein Team kann Glue Data Catalog auch als Alternative zu Apache Hive Metastore für Amazon-EMR-Anwendungen nutzen.
Um Metadaten in Glue Data Catalog zu ziehen, verwendet der Service Glue Crawler, die Rohdatenspeicher scannen und Schemata und andere Attribute extrahieren. Ein IT-Experte kann die Crawler nach Bedarf anpassen.
Funktionen von AWS Glue
Die Hauptfunktionen von AWS Glue sind die folgenden:
- automatische Datenermittlung: Mit AWS Glue können Benutzer automatisch schemabezogene Informationen abrufen und sie mithilfe von Crawlern im Datenkatalog speichern. Diese Informationen können dann zur Verwaltung von ETL-Aufträgen verwendet werden.
- Job-Scheduler: AWS-Glue-Jobs können mit dem Job-Scheduler nach einem flexiblen Zeitplan eingestellt und aufgerufen werden, entweder durch ereignisbasierte Trigger, bei Bedarf oder nach einem bestimmten Zeitplan, unabhängig von der Komplexität der ETL-Pipeline. Mehrere Jobs können parallel gestartet werden, und Benutzer können Abhängigkeiten zwischen den Jobs festlegen.
- Entwicklungsendpunkte: AWS Glue bietet Entwicklungsendpunkte zum Entwickeln und Testen von ETL-Skripten für verschiedene Aufträge. Entwickler können diese zum Debuggen von Glue sowie zum Erstellen von benutzerdefinierten Lese- und Schreibvorgängen und Transformationen verwenden, die dann in benutzerdefinierte Bibliotheken importiert werden können.
- AWS Glue Studio: Diese grafische Schnittstelle erleichtert die Definition und Überwachung des ETL-Prozesses und der Aufträge, die Zusammenstellung verschiedener Datenumwandlungs-Workflows und die Überprüfung der Datenergebnisse bei jedem Schritt eines Auftrags. Es generiert automatisch den für AWS-Glue-Aufträge erforderlichen Code und enthält einen Drag-and-Drop-Editor zur einfachen Erstellung von ETL-Aufträgen.
- AWS Glue DataBrew: Mit diesem visuellen Datenaufbereitungs-Tool lassen sich Daten aus einem beliebigen Data Lake, Data Warehouse oder eine Datenbank ganz einfach bereinigen und normalisieren und sogar mit ihnen experimentieren. DataBrew enthält außerdem mehr als 250 vorgefertigte Transformationen zur Automatisierung der Datenvorbereitung, Standardisierung und Korrektur.
- automatische Codegenerierung: AWS Glue generiert automatisch den Code, der erforderlich ist, um Daten aus einer Quelle zu extrahieren, sie nach Bedarf zu transformieren und sie in das Ziel zu laden. Die Codeskripte werden entweder in Scala oder PySpark generiert.
- integrierter Datenkatalog: Der Katalog ist ein zentraler Datenspeicher, mit dem Daten in jedem AWS-Datensatz entdeckt, gesucht und abgefragt werden können, ohne dass die Daten verschoben werden müssen. Er ist ein einzigartiger Metadatenspeicher für Daten aus verschiedenen Quellen in der AWS-Pipeline. Ein AWS-Konto hat einen Katalog.
- AWS Glue Flex: Das ist eine flexible Auftragsklasse, die die Kosten für nicht dringende Datenintegrationsarbeitslasten und nicht zeitkritische Aufträge mit unterschiedlichen Start- und Abschlusszeiten reduziert.
- Transformation von Streaming-Daten bei der Übertragung: AWS Glue bereinigt und transformiert Daten während der Übertragung und stellt sicher, dass sie für eine schnelle Analyse im Zieldatenspeicher des Benutzers verfügbar sind.
- integrierte ML- und Auftragsnotizbücher: Jeder Benutzer kann mit der ML-basierten FindMatches-Funktion von AWS Glue Daten für die Analyse bereinigen, vorbereiten und deduplizieren. Sie können auch serverlose Auftragsnotizbücher mit einer Ein-Klick-Einrichtung verwenden, um auf einfache Weise Aufträge zu erstellen, Skripts zu entwickeln und bereitzustellen, Ad-hoc-Abfragen durchzuführen und Daten zu untersuchen, zu analysieren und zu visualisieren.
- interaktive Sitzungen: Dateningenieure können Daten interaktiv untersuchen und vorbereiten, indem sie ihre bevorzugte integrierte Entwicklungsumgebung oder ein Auftragsnotizbuch für viele Arten von Datenvorbereitungs- und Analyseanwendungen verwenden.
Vor- und Nachteile von AWS Glue
AWS Glue bietet Vorteile für Benutzer, die Daten für Analysezwecke ermitteln, vorbereiten, verschieben und integrieren möchten. Zum Beispiel bietet es eine Reihe von Datenintegrationsfunktionen. Darüber hinaus unterstützt der Service viele Arten von Arbeitslasten, einschließlich ETL, ELT, Batch, zentralisierte Katalogisierung und Streaming, ohne dass eine starre Bindung erforderlich ist. Je nach Arbeitslast können Benutzer eine von vielen serverlosen und skalierbaren Datenverarbeitungs- und -integrations-Engines auswählen, wie AWS Glue für Ray, AWS Glue für Python Shell oder AWS Glue für Apache Spark.
Diese Funktionen sind in einem einzigen serverlosen Service verfügbar. Daher müssen sich die Benutzer nicht um die Verwaltung der zugrunde liegenden Infrastruktur kümmern und können sich auf das Ermitteln, Aufbereiten und Integrieren von Daten für ihre spezifischen Anwendungen konzentrieren.
AWS Glue kann bei Bedarf auf Petabyte-Ebene skaliert werden und unterstützt verschiedene Datentypen und Schemata. Es bietet außerdem eine stundenweise Abrechnung für jede Dateigröße, das heißt die Benutzer zahlen nur für die Zeit, die der ETL-Aufträge einrichten, um den Wert der Daten zu maximieren und gleichzeitig die Kosten zu kontrollieren.
Ein weiterer Vorteil von AWS Glue ist die nahtlose Integration mit AWS-Analyseservices und Amazon S3 Data Lakes. Die Integrationsschnittstellen erleichtern die Integration von Daten in die Infrastruktur des Unternehmens und ihre Verwendung für verschiedene Analyseanwendungen und Arbeitslasten.
Schließlich enthält AWS Glue eine integrierte Datenqualitätsfunktion, die die Datenqualität in Data Lakes und Pipelines durch die Erstellung nützlicher und umsetzbarer Metriken unterstützt. Außerdem können Benutzer automatisch Regeln für die Datenqualität erstellen, verwalten und überwachen. Wenn sich die Qualität verschlechtert, löst AWS Glue Warnmeldungen aus, die die Benutzer benachrichtigen und ihnen ermöglichen, geeignete Maßnahmen zu ergreifen.
Im Folgenden werden weitere Vorteile von AWS Glue genannt:
- Fault Tolerance: Fehlgeschlagene Aufträge in Glue sind abrufbar, und die Protokolle in Glue können debuggt werden.
- Filterung: Glue filtert nach fehlerhaften Daten.
- Support: Glue unterstützt mehrere Nicht-JDBC-Datenquellen.
Zu den Nachteilen von AWS Glue gehören folgende:
- eingeschränkte Kompatibilität: AWS Glue funktioniert zwar mit einer Vielzahl häufig verwendeter Datenquellen, aber nur mit Services, die auf AWS laufen. Unternehmen benötigen möglicherweise einen ETL-Service eines Drittanbieters, wenn die Quellen nicht AWS-basiert sind.
- keine inkrementelle Datensynchronisierung: Alle Daten werden zunächst auf S3 bereitgestellt, so dass Glue nicht die beste Option für Echtzeit-ETL-Aufträge ist.
- Lernkurve: Teams, die Glue verwenden, sollten ein gutes Verständnis von Apache Spark haben.
- relationale Datenbankabfragen: Glue bietet nur begrenzte Unterstützung für Abfragen traditioneller relationaler Datenbanken, nur Abfragen in Structured Query Language (SQL).
Anwendungsfälle mit AWS Glue
Die primären Datenverarbeitungsfunktionen, die von AWS Glue ausgeführt werden, sind die folgenden:
- Datenextraktion: AWS Glue extrahiert Daten in einer Vielzahl von Formaten.
- Datenumwandlung: AWS Glue formatiert Daten für die Speicherung neu.
- Datenintegration: AWS Glue integriert Daten in Unternehmens-Data-Lakes und -Warehouses.
Diese Funktionen sind für Unternehmen nützlich, die große Datenmengen verwalten und die Verschmutzung von Data Lakes vermeiden möchten, das heißt mehr Daten horten, als das Unternehmen verwenden kann. AWS Glue ist auch für Unternehmen nützlich, die Datenumwandlungs-Workflows visuell zusammenstellen und ETL-Aufträge beliebiger Komplexität auf einer serverlosen Apache-Spark-basierten ETL-Engine ausführen möchten.
Einige andere häufige Anwendungsfälle für Glue sind:
- einheitliche Ansicht von Datenquellen
- Speicherung und Abfrage von Tabellenmetadaten im AWS Glue Data Catalog mit SQL und Amazon Athena
- Definition und Verwaltung fein abgestufter Datenzugriffsrichtlinien mit AWS Lake Formation
- Zugriff auf Datenquellen für die Big-Data-Verarbeitung mit Amazon EMR
- Erstellung, Training und Bereitstellung von ML-Modellen mit Amazon SageMaker
- Anwendung bewährter DevOps-Verfahren mit Git-Integration
Einige spezifischere allgemeine Anwendungsbeispiele für Glue sind:
- Glue kann in ein Snowflake Data Warehouse integriert werden, um den Datenintegrationsprozess zu verwalten.
- Ein AWS Data Lake kann mit Glue integriert werden.
- AWS Glue kann mit Athena integriert werden, um Schemas zu erstellen.
- ETL-Code kann auch für Glue auf GitHub verwendet werden.
ETL-Engine
Nachdem die Daten katalogisiert sind, sind sie durchsuchbar und bereit für ETL-Aufträge. AWS Glue umfasst ein ETL-Skript-Empfehlungssystem zur Erstellung von Python- und Spark-Code (PySpark) sowie eine ETL-Bibliothek zur Ausführung von Aufträgen. Ein Entwickler kann ETL-Code über die benutzerdefinierte Glue-Bibliothek oder PySpark-Code über den Skripteditor der AWS-Glue-Konsole schreiben.
Ein Entwickler kann benutzerdefinierten PySpark-Code oder Bibliotheken importieren. Darüber hinaus können Entwickler den Code für bestehende ETL-Aufträge in einen S3-Bucket hochladen und dann einen neuen Glue-Auftrag zur Verarbeitung des Codes erstellen. AWS stellt auch Beispielcode für Glue in einem GitHub-Repository zur Verfügung.
Planen und Orchestrieren von ETL-Jobs
AWS-Glue-Jobs können nach einem Zeitplan ausgeführt werden. Ein Entwickler kann ETL-Jobs in einem Mindestabstand von fünf Minuten planen. AWS Glue kann keine Streaming-Daten verarbeiten.
Wenn ein Entwicklerteam es vorzieht, seine Arbeitslasten zu orchestrieren, ermöglicht der Service geplante, bedarfsgesteuerte Trigger für Jobabschlüsse. Ein geplanter Trigger führt Aufträge in bestimmten Intervallen aus, während ein On-Demand-Trigger auf Aufforderung des Benutzers ausgeführt wird. Mit einem Job Completion Trigger können einzelne oder mehrere Jobs ausgeführt werden, wenn die Jobs beendet sind. Diese Jobs können gleichzeitig oder nacheinander ausgelöst werden, und sie können auch von einem externen Service, wie AWS Lambda, ausgelöst werden.

Preise für AWS Glue
AWS berechnet Benutzern einen Stundensatz, der sekundengenau für Datenermittlungs-Crawler, ETL-Aufträge und die Bereitstellung von Entwicklungsendpunkten zur interaktiven Entwicklung von ETL-Code abgerechnet wird. Die Ausnahme von diesem Abrechnungsschema sind DataBrew-Aufträge, die pro Minute abgerechnet werden, und interaktive DataBrew-Sitzungen, die pro Sitzung abgerechnet werden.
AWS erhebt außerdem eine monatliche Gebühr für die Speicherung von und den Zugriff auf Metadaten in AWS Glue Data Catalog. Die erste Million Objekte, die im Katalog gespeichert werden, sowie die erste Million Zugriff sind jedoch kostenlos. Die Nutzung von AWS Glue Schema Registry wird von AWS ebenfalls kostenlos angeboten.