AWS Glue: ETL und Datenkatalog
Führen Sie serverlose ETL-Aufträge mit AWS Glue aus, registrieren Sie Tabellenschemata im Glue Data Catalogue und durchsuchen Sie neue Daten automatisch.
AWS Glue: ETL und Datenkatalog ist eine kostenlose Cloud & IT Cert Prep-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Cloud & IT Cert Prep-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Cloud & IT Cert Prep-Kurs umfasst insgesamt 4 Lektionen.
Was ist AWS Glue?
AWS Glue ist ein vollständig verwalteter, serverloser ETL-Service (Extract, Transform, Load). Sie müssen keine Server bereitstellen oder verwalten – Glue weist automatisch Spark- oder Python-Worker zu, wenn ein Job ausgeführt wird. Glue besteht aus zwei Hauptkomponenten: der ETL-Engine für Datentransformationsjobs und dem Data Catalogue zum Speichern von Metadaten zu Ihren Datenquellen und -zielen.
Der Glue Data Catalogue erklärt
Der Glue Data Catalogue ist ein zentrales Metadaten-Repository, das mit dem Apache Hive Metastore kompatibel ist. Er speichert Datenbanken, Tabellen, Spaltendefinitionen, Datentypen und Partitionsinformationen. Services wie Athena, Redshift Spectrum und EMR verwenden denselben Data Catalogue. Dadurch ist er die zentrale Quelle der Wahrheit dafür, welche Daten vorhanden sind und wo sie in S3 gespeichert sind.
# List databases in the Glue Data Catalogue
aws glue get-databases --query 'DatabaseList[*].Name'
# List tables in a database
aws glue get-tables --database-name my_db --query 'TableList[*].Name'Glue Crawler: Schema automatisch ermitteln
Ein Glue Crawler verbindet sich mit einem Datenspeicher (S3, JDBC, DynamoDB), analysiert Stichproben der Daten und leitet automatisch das Schema sowie die Partitionsstruktur ab. Anschließend schreibt oder aktualisiert er Tabellendefinitionen im Data Catalogue. Crawler können nach einem Zeitplan oder bei Bedarf ausgeführt werden. Sie unterstützen inkrementelles Crawling, sodass bei nachfolgenden Ausführungen nur neue Partitionen verarbeitet werden.
# Create and start a Glue Crawler via CLI
aws glue create-crawler \
--name sales-crawler \
--role arn:aws:iam::123456789012:role/GlueRole \
--database-name my_db \
--targets '{"S3Targets": [{"Path": "s3://my-data-lake-123/landing/sales/"}]}'
aws glue start-crawler --name sales-crawlerSchreiben eines Glue-ETL-Jobs
Ein Glue-ETL-Job ist ein PySpark- oder Scala-Spark-Skript, das Daten aus einer Quelle liest, mithilfe der DynamicFrame-API Transformationen anwendet und in ein Ziel schreibt. DynamicFrames erweitern Spark DataFrames um Schema-Flexibilität: Sie verarbeiten inkonsistente Datentypen und verschachteltes JSON automatisch. Über den visuellen Editor von Glue Studio können Sie ein Vorlage-Skript für einen Job generieren.
# Minimal Glue PySpark ETL job
from awsglue.context import GlueContext
from awsglue.transforms import *
from pyspark.context import SparkContext
sc = SparkContext()
glueContext = GlueContext(sc)
# Read from Data Catalogue table
source = glueContext.create_dynamic_frame.from_catalog(
database='my_db', table_name='raw_sales')
# Drop null order_id rows
cleaned = Filter.apply(frame=source, f=lambda r: r['order_id'] is not None)
# Write Parquet to curated zone
glueContext.write_dynamic_frame.from_options(
frame=cleaned,
connection_type='s3',
connection_options={'path': 's3://my-data-lake-123/curated/sales/'},
format='parquet')Glue-Job-Worker und DPUs
Glue weist Kapazität in Data Processing Units (DPUs) zu. Eine DPU entspricht 4 vCPUs und 16 GB Arbeitsspeicher. Sie wählen einen Workertyp (G.1X, G.2X oder G.025X für Flex/Spark Streaming) und eine Anzahl von Workern. Für kleine Jobs verwenden Sie den Jobtyp G.025X Python Shell, der ein Viertel einer DPU nutzt und für einfache Transformationen sehr kosteneffizient ist.
# Create a Glue job with G.1X workers
aws glue create-job \
--name clean-sales \
--role arn:aws:iam::123456789012:role/GlueRole \
--command '{"Name": "glueetl", "ScriptLocation": "s3://scripts/clean_sales.py", "PythonVersion": "3"}' \
--worker-type G.1X \
--number-of-workers 5 \
--glue-version '4.0'Glue-Workflows und Trigger
Ein Glue Workflow verknüpft Crawler und Jobs zu einem Abhängigkeitsgraphen. Ein Crawler erkennt neue Daten. Nach dessen Abschluss wird ein Job ausgelöst, anschließend ein weiterer Job und so weiter. Trigger können zeitgesteuert (Cron), ereignisbasiert (bei Bedarf) oder bedingt sein (Auslösung bei erfolgreichem oder fehlgeschlagenem Job). Workflows bieten ein visuelles DAG für Ihre ETL-Pipeline, ohne dass ein separater Orchestrierungsservice erforderlich ist.
# Create a schedule trigger that starts a job every night at 2 AM UTC
aws glue create-trigger \
--name nightly-clean \
--type SCHEDULED \
--schedule 'cron(0 2 * * ? *)' \
--actions '[{"JobName": "clean-sales"}]' \
--start-on-creationGlue Studio: Visueller ETL-Builder
Glue Studio bietet eine Drag-and-drop-Oberfläche, mit der Sie ETL-Jobs grafisch entwerfen können, ohne PySpark-Code manuell schreiben zu müssen. Sie verbinden Quellknoten (S3, Catalogue-Tabellen, JDBC) über Transformationsknoten (Filtern, Zusammenführen, Aggregieren, benutzerdefiniertes Python) mit Zielknoten. Glue Studio generiert das Spark-Skript automatisch. Außerdem bietet es ein Dashboard für Jobausführungen, in dem Sie den Ausführungsstatus und Datenqualitätsmetriken überwachen können.
Glue Data Quality
AWS Glue Data Quality (DQDL – Data Quality Definition Language) ermöglicht es Ihnen, Regeln zur Validierung von Daten zu schreiben, während diese einen ETL-Job durchlaufen. Regeln können Nullraten, Wertebereiche, referenzielle Integrität und Eindeutigkeit prüfen. Wenn Daten Qualitätsregeln nicht erfüllen, kann Glue den Job anhalten oder fehlerhafte Datensätze zur manuellen Prüfung in einen Quarantänepfad in S3 leiten, anstatt beschädigte Daten unbemerkt in die Curated Zone zu übernehmen.
# DQDL rule example for Glue Data Quality
# Reject rows where order_total is negative or null
Rules = [
IsComplete 'order_total',
ColumnValues 'order_total' >= 0
]Glue im Vergleich zu anderen ETL-Optionen
Für die SAA-C03-Prüfung müssen Sie wissen, wann Sie Glue gegenüber Alternativen empfehlen sollten. Verwenden Sie Glue für serverloses Spark-ETL und die Integration mit dem Data Catalogue. Verwenden Sie AWS Data Pipeline zur Orchestrierung älterer Datenübertragungsaufgaben (größtenteils Legacy). Verwenden Sie Amazon EMR, wenn Sie eine benutzerdefinierte Konfiguration eines Hadoop-/Spark-Clusters oder langlebige Workloads benötigen. Verwenden Sie Lambda für leichtgewichtige, ereignisgesteuerte Mikrotransformationen kleiner Payloads.
JDBC- und Nicht-S3-Datenquellen
Glue kann über JDBC connections Verbindungen zu relationalen Datenbanken herstellen – zu RDS, Aurora, Redshift oder über eine Glue VPC Connection zu lokalen Datenbanken. Sie definieren eine Verbindung mit einer JDBC-URL, Anmeldedaten aus Secrets Manager und einer VPC-Sicherheitsgruppe. Glue verwendet anschließend eine dedizierte network interface, die innerhalb des VPC-Subnetzes platziert wird, um private Datenbankendpunkte zu erreichen, ohne das öffentliche Internet zu durchqueren.
# Create a Glue JDBC connection to RDS Aurora
aws glue create-connection \
--connection-input '{
"Name": "aurora-prod",
"ConnectionType": "JDBC",
"ConnectionProperties": {
"JDBC_CONNECTION_URL": "jdbc:mysql://aurora-cluster.cluster-xyz.us-east-1.rds.amazonaws.com:3306/sales",
"SECRET_ID": "arn:aws:secretsmanager:us-east-1:123:secret:rds-creds"
},
"PhysicalConnectionRequirements": {
"SubnetId": "subnet-abc123",
"SecurityGroupIdList": ["sg-xyz456"],
"AvailabilityZone": "us-east-1a"
}
}'Bookmarks: Inkrementelle Verarbeitung
Standardmäßig würde ein Glue-Job bei jeder Ausführung jeden Datensatz erneut verarbeiten. Glue Job Bookmarks verfolgen, welche Eingabedateien bereits verarbeitet wurden, sodass nachfolgende Ausführungen nur neue Daten übernehmen. Bookmarks sind für schreibgeschützte S3-Quellen unverzichtbar, bei denen täglich neue Dateien unter demselben Präfix abgelegt werden. Aktivieren Sie Bookmarks in den Jobparametern mit --job-bookmark-option job-bookmark-enable.
# Start Glue job with bookmark enabled
aws glue start-job-run \
--job-name clean-sales \
--arguments '{"--job-bookmark-option": "job-bookmark-enable"}'Kurzer Wissenstest
Testen Sie Ihr Verständnis der Konzepte von AWS Solutions Architect (SAA-C03) aus dieser Lektion.
Zusammenfassung der Lektion
In dieser Lektion haben Sie gelernt: AWS Glue stellt serverloses ETL über PySpark und die DynamicFrame API bereit, Glue Crawlers erkennen Schemata automatisch und füllen den Data Catalogue und Glue Bookmarks ermöglichen die inkrementelle Verarbeitung neuer S3-Daten. Als Nächstes sehen wir uns Amazon Athena für serverlose SQL-Abfragen direkt auf S3 an.
Häufig gestellte Fragen
Ist die Lektion „AWS Glue: ETL und Datenkatalog“ kostenlos?
Ja — der vollständige Text von „AWS Glue: ETL und Datenkatalog“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Cloud & IT Cert Prep-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Cloud & IT Cert Prep-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „AWS Glue: ETL und Datenkatalog“?
Führen Sie serverlose ETL-Aufträge mit AWS Glue aus, registrieren Sie Tabellenschemata im Glue Data Catalogue und durchsuchen Sie neue Daten automatisch. Du übst Cloud & IT Cert Prep mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Cloud & IT Cert Prep zu starten?
Keine Vorkenntnisse erforderlich. Cloud & IT Cert Prep auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.
Wie lange dauert die Lektion „AWS Glue: ETL und Datenkatalog“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Cloud & IT Cert Prep-Lektion Code schreiben und ausführen?
Ja. Jede Cloud & IT Cert Prep-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Einen Data Lake auf S3 erstellen
- AWS Glue: ETL und Datenkatalog
- Amazon Athena: Server-SQL auf S3
- Kinesis Streams, Firehose und Echtzeitanalysen