aws glue

AWS Glue: Was ist das? Wozu dient es?

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:

Amazon S3
Amazon EC2
Amazon Web Services
AWS Google Cloud
Amazon Omics
Amazon Quicksight