Direkt zum Inhalt

AWS-Seebildung und Kleberintegration: Eine Schritt-für-Schritt-Anleitung

Lerne, AWS Lake Formation und AWS Glue zu integrieren, um sichere Datenpipelines zu erstellen, Zugriffskontrollen zu konfigurieren und ETL-Workflows zu automatisieren.
Aktualisierte 14. Jan. 2025  · 30 Min. Lesezeit

Unternehmen haben Schwierigkeiten, große Datenmengen in der heutigen Datenumgebung zu sichern, zu verwalten und zu bewegen. AWS Lake Formation und AWS Glue sind zwei Dienste, die dir helfen können, diese Herausforderungen zu meistern. AWS Glue führt die Datenbereinigung, Umstrukturierung und Datentypkonvertierung durch, während AWS Lake Formation Data Lakes aufbaut und die Datensicherheit und -verwaltung übernimmt. 

In diesem Blog zeigen wir dir, wie du mit AWS Lake Formation und AWS Glue eine sichere, automatisierte Datenpipeline entwickelst. Wir werden einen ETL-Auftrag mit AWS Glue entwickeln, um Beispieldaten, die derzeit in einem S3-Bucket gespeichert sind, zu verschieben und zu verarbeiten, und die feinkörnige Zugriffskontrolle wird über AWS Lake Formation erfolgen.

Was ist die AWS Lake Formation?

AWS Lake Formation bietet die notwendigen Tools, um Data Lakes auf AWS zu erstellen, zu verwalten und zu sichern. Mit Lake Formation ist es einfacher, Data Lakes auf Amazon S3 zu erstellen und Sicherheit und Berechtigungen zu verwalten.

Mit AWS Lake Formation kannst du:

  • Baue schnell einen sicheren Data Lake auf.
  • Zentralisiere die Datenspeicherung in S3.
  • Definiere granulare Zugriffskontrollrichtlinien.
  • Wende Datenverschlüsselung und Audit-Protokolle an, um die Einhaltung von Vorschriften zu gewährleisten.

Was ist AWS Glue?

AWS Glue ist ein serverloser Datenintegrationsservice, der Extrahier-, Transformier- und Ladefunktionen (ETL) für die Datenaufbereitung bietet. Es handelt sich um einen automatisierten Datenaufbereitungsdienst, der das Katalogisieren, Umwandeln und Laden von Daten erleichtert. Dies ist nützlich, um Daten aus verschiedenen Quellen, wie z.B. S3, in Data Warehouses oder Datenbanken zu konsolidieren.

Mit AWS Glue bekommst du:

  • Leimdatenkatalog: Ein zentrales Repository für die Verwaltung von Metadaten.
  • ETL-Jobs: Serverlose Jobs zum Umwandeln und Verschieben von Daten.
  • Glue Studio: Eine visuelle Schnittstelle für die Gestaltung von ETL-Workflows.

Wenn du Glue noch nicht kennst, schau dir unser Tutorial "Erste Schritte mit AWS Glue" an. 

Warum die Integration von AWS Lake Formation und AWS Glue?

Die Integration von AWS Lake Formation und AWS Glue bietet das Beste aus beiden Welten: sichere Data Lakes und automatisierte ETL-Pipelines. Einige Vorteile dieser Integration sind:

  • Automatisierte Datenpipelines: Automatisiere die Datenumwandlung und -verschiebung bei gleichzeitiger Wahrung der Sicherheit.
  • Zentralisierte Datenverwaltung: Kombiniere die Zugriffskontrolle von Lake Formation mit den Datenumwandlungs- und Katalogisierungsfunktionen von Glue.
  • Verbesserte Sicherheit: Nutze die feingranularen Berechtigungen von Lake Formation, um den Zugriff auf sensible Daten zu kontrollieren.

Voraussetzungen für die Integration

Bevor du AWS Lake Formation und AWS Glue integrierst, solltest du sicherstellen, dass du Folgendes hast:

  • AWS-Konto: Zugang zu AWS Lake Formation und AWS Glue.
  • Grundlegende Kenntnisse: Vertrautheit mit Data Lakes, ETL und AWS-Diensten.
  • S3 Eimer: Ein vorkonfigurierter S3-Bucket zum Speichern deiner Daten.
  • IAM-Rollen: Für den Zugriff auf beide Dienste sind die erforderlichen IAM-Rollen und -Berechtigungen erforderlich.
  • CloudFormation: Es wird eine Vorlage bereitgestellt, um das Basis-Setup einzusetzen. YDu kannst die Vorlage hier finden.

Schritt-für-Schritt-Anleitung zur Integration

Wenn du die Voraussetzungen hast, befolge einfach diese Schritte:

Schritt 1: Einrichten der AWS-See-Formation

Der erste Schritt ist die Bereitstellung der AWS-Kernressourcen, die für den Aufbau eines gesicherten Data Lake benötigt werden, bevor der Integrationsprozess beginnt. Die AWS CloudFormation-Vorlage hilft bei der Organisation und Bereitstellung aller benötigten Ressourcen. 

Verwende die mitgelieferte CloudFormation-Vorlage, um einen Stack in deinem AWS-Konto zu erstellen. Dieser Stack stellt wichtige Ressourcen bereit, die für die in diesem Tutorial beschriebenen Anwendungsfälle benötigt werden.

Screenshot der AWS CloudFormation-Seite "Stack erstellen" mit Optionen zur Vorbereitung und Festlegung einer Vorlage, einschließlich des Hochladens einer Vorlagendatei oder der Auswahl anderer Quellen.

Erstellen eines Stacks in AWS CloudFormation

Wenn du den Stack bereitstellst, werden die folgenden Schlüsselressourcen in deinem AWS-Konto erstellt:

  • Amazon VPC und Subnetz: Eine VPC und ein öffentliches Subnetz zum Hosten von Ressourcen mit entsprechenden Netzwerkkonfigurationen.
  • Amazon S3 Buckets:
    • Speichert blogbezogene Daten, Skripte und Ergebnisse.
    • Hostetdie TPC-Daten, die für den Aufbau des Data Lake verwendet werden.
  • IAM-Rollen und Richtlinien:
    • GlueServiceRole: Gewährt AWS Glue Zugriff auf S3 und Lake Formation Services.
    • DataEngineerGlueServiceRole: Erteilt Ingenieuren die Berechtigungen für den Datenzugriff und die Datenverarbeitung.
    • DataAdminUser und DataEngineerUser: Vorkonfigurierte IAM-Benutzer für die Erkundung und Verwaltung der Lake Formation-Sicherheit.
  • AWS Glue Crawler: Ein TPC Crawler, der die im S3-Bucket gespeicherten Parkettdaten durchsucht und katalogisiert.
  • Amazon EC2 Instanz: Eine Helper-Instanz (EC2-DB-Loader) zum Vorladen und Übertragen von Beispieldaten in S3.
  • AWS Secrets Manager: Eine geheime (lf-users-credentials), um die Benutzerdaten für die zuvor erstellten IAM-Benutzer sicher zu speichern.

Nachdem der Stapel erstellt wurde, hast du Folgendes:

  • Eine Beispiel-TPC-Datenbank, die in Amazon S3 gespeichert ist.
  • Vorgefertigte Benutzer und Rollen, um Sicherheitsmuster und Zugriffskontrollen zu untersuchen.
  • Klebe Konfigurationen und Crawler, um deine Daten zu katalogisieren und zu verarbeiten.
  • Alle grundlegenden Komponenten, die du brauchst, um die Schritte in diesem Blog zu befolgen.

Schritt 2: Konfigurieren von Datenberechtigungen

In diesem Abschnitt konfiguriert der Data Lake Administrator AWS Lake Formation so, dass es für die Personas der Datenverbraucher, einschließlich der Data Engineers, verfügbar ist. Der Verwalter wird:

  • Erstelle eine neue Datenbank in AWS Lake Formation um TPC-Daten zu speichern.
  • Registriere Metadaten-Tabellen für das TPC-Dataset im AWS Glue Data Catalog.
  • Konfiguriere Lake Formation Tags und Richtlinien, um Zugriffsberechtigungen für verschiedene Nutzer festzulegen.

Diese Konfigurationen bieten eine sichere, fein abgestufte Zugriffskontrolle und eine reibungslose Koordination mit anderen AWS-Services.

Einrichten des Data Lake Administrator

Ein Data Lake Administrator ist ein IAM-Benutzer oder eine IAM-Rolle, der/die jedem Prinzip (einschließlich sich selbst) die Berechtigung für jede Data Catalog Entität geben kann. Der Data Lake Administrator ist in der Regel der erste Benutzer, der für die Verwaltung des Datenkatalogs angelegt wird und derjenige, der administrative Rechte für den Datenkatalog erhält.

Im AWS Lake Formation Service kannst du die Eingabeaufforderung öffnen, indem du auf die Schaltfläche Administrative Rollen und Aufgaben -> Administratoren hinzufügen im Navigationsbereich klickst und dann den IAM-Benutzer lf-data-admin aus der Dropdown-Liste auswählst.

Screenshot der Seite "Administratoren hinzufügen" in AWS Lake Formation mit Optionen zur Zuweisung von Zugriffsarten, IAM-Benutzern und Rollen für Data Lake-Administratorberechtigungen.

Hinzufügen eines Data Lake Administrators in AWS Lake Formation

Ändern der Katalogeinstellungen

Standardmäßig hat Lake Formation die Option "Nur IAM-Zugriffskontrolle verwenden", die ausgewählt ist, um mit dem AWS Glue Data Catalog kompatibel zu sein. Um eine fein abgestufte Zugriffskontrolle mit Lake Formation-Berechtigungen zu ermöglichen, musst du diese Einstellungen anpassen:

  1. Im Navigationsbereich, unter Verwaltungdie Option Administrative Rollen und Aufgaben.
  2. Erscheint die Gruppe IAMAllowedPrincipals unter Datenbankerstellererscheint, markieren Sie die Gruppe und wählen Sie Widerrufen.
  3. Im Berechtigungen widerrufen bestätigst du, dass die Gruppe die Berechtigung Datenbank erstellen hat, und klicke dann auf Widerrufen.

Diese Schritte deaktivieren die standardmäßige IAM-Zugriffskontrolle und ermöglichen es dir, Lake Formation-Berechtigungen für mehr Sicherheit zu implementieren.

Screenshot der AWS Lake Formation-Oberfläche mit Optionen für Katalogersteller und Datenbankersteller, einschließlich der Gruppe IAMAllowedPrincipals mit den Berechtigungen Create catalog und Create database.

Verwalten von Katalog- und Datenbankerstellern in AWS Lake Formation

Schritt 3: Verwendung des AWS Glue Data Catalog

Jetzt ist es an der Zeit, den Glue Data Catalog zu nutzen.

Erstellen einer Datenbank

Um eine Datenbank für die TPC-Daten zu erstellen, loggst du dich aus deiner aktuellen AWS-Sitzung aus und meldest dich wieder als Benutzer lf-data-admin an. Verwende den Anmeldelink, der in der CloudFormation-Ausgabe angegeben ist, und das Passwort, das du vom AWS Secrets Manager erhalten hast.

  1. Navigiere zur AWS-Seeformung Konsole und wählen Sie Datenbanken im linken Navigationsbereich aus.
  2. Klicken Sie auf die Schaltfläche Datenbank erstellen Schaltfläche.
  3. Benenne die Datenbank "tpc", da sie für den TPC-Datensee verwendet wird.
  4. Wähle im FeldStandort den S3-Data-Lake-Pfad aus, der vom CloudFormation-Stack erstellt wurde. Dieser Pfad ist auf der Registerkarte CloudFormation-Ausgabe zu finden und heißt lf-data-lake-account-ID, wobei account-ID deine 12-stellige AWS-Kontonummer ist.
  5. Deaktivieren Sie die Option Nur IAM-Zugriffskontrolle für neue Tabellen in dieser Datenbank verwenden um eine feinkörnige Zugriffskontrolle zu aktivieren.
  6. Belassen Sie alle anderen Optionen auf ihren Standardwerten und klicken Sie auf Datenbank erstellen.

Diese Datenbank wird die Grundlage für die Speicherung und Verwaltung von Metadaten für die TPC-Daten im Lake Formation Setup sein.

Screenshot der Seite "Datenbankdetails" der AWS Lake Formation mit Feldern für den Datenbanknamen, den Datenkatalog, den S3-Speicherort, die Beschreibung und die Standardberechtigungseinstellungen für neu erstellte Tabellen.

Erstellen einer Datenbank in AWS Lake Formation

Hydratisierung des Data Lake

Wir verwenden einen AWS Glue Crawler, um Tabellen im AWS Glue Data Catalog zu erstellen. Crawler sind die gebräuchlichste Methode, um Tabellen in AWS Glue zu erstellen, da sie mehrere Datenspeicher gleichzeitig durchsuchen und die Details der Tabellen nach dem Crawlen im Data Catalog generieren oder aktualisieren können.

Bevor du den AWS Glue Crawler startest, musst du seiner IAM-Rolle die erforderlichen Berechtigungen erteilen:

  1. Navigieren Sie in der AWS Lake Formation Konsole zu Datenbanken und wähle die tpc Datenbank aus.
  2. Von den Aktionen Dropdown-Menü wählst du Erteilen.
  3. In der Berechtigungen erteilen Dialogfeld:
    • Unter Direktorenwählst du die IAM-Rolle LF-GlueServiceRole aus.
    • In den LF-Tags oder Katalogressourcen Abschnitt, stellen Sie sicher Katalogressourcen für benannte Daten ausgewählt ist.
    • Wähle tpc als Datenbank aus.
    • In der Datenbank-Berechtigungen markierst du das Feld Tabelle erstellen Option.
    • Klick Grant.

Screenshot der Seite AWS Lake Formation Databases mit einer Liste von Datenbanken, darunter "sales" und "tpc", wobei das Menü "Actions" erweitert wurde, um die Option "Grant" zur Verwaltung von Berechtigungen anzuzeigen

Erteilung von Genehmigungen in der AWS Lake Formation

Ausführen des AWS Glue Crawlers

Wenn du die Berechtigungen hast, kannst du den Crawler starten:

  1. Navigieren Sie in der AWS Lake Formation Konsole zu Crawler und klicken Sie auf , um den AWS Glue Konsole zu öffnen.
  2. Wählen Sie den Crawler namens TPC Crawler und klicken Sie auf Crawler ausführen.
  3. Überwachen Sie den Fortschritt, indem Sie auf die Schaltfläche Aktualisieren Schaltfläche klicken.
  4. Sobald dies geschehen ist, wird die TPC-Datenbank mit Tabellen gefüllt. Prüfe die Tabellenänderungen seit dem letzten Lauf um die Anzahl der hinzugefügten Tabellen zu sehen (z. B. 8 Tabellen).

Screenshot der AWS Glue TPC Crawler-Eigenschaftsseite mit Details wie der IAM-Rolle, der Datenbank und den Crawler-Läufen mit dem Status "Abgeschlossen", der die erfolgreiche Aktualisierung der Tabellen anzeigt.

Ausführen des TPC Crawlers in AWS Glue

Du kannst diese Tabellen auch in der AWS Lake Formation Konsole unter Datenkatalog und Tabellen.

Screenshot der Seite AWS Lake Formation Tables, die eine Liste von 8 Tabellen anzeigt, die in die tpc-Datenbank geladen wurden, darunter dl_tpc_household_demographics, dl_tpc_customer und andere, mit der Option, Tabellen zu erstellen oder einen Crawler zu verwenden.

Tabellen in der AWS Lake Formation anzeigen

Registrierung von Data Lake-Standorten

Du musst das S3-Bucket in AWS Lake Formation für deinen Data Lake Storage registrieren. Mit dieser Registrierung kannst du eine fein abgestufte Zugriffskontrolle für AWS Glue Data Catalog-Objekte und die im Bucket gespeicherten Daten durchsetzen.

Schritte zur Registrierung eines Data Lake-Standorts:

  1. Navigieren Sie zu den Data Lake Standorte in der AWS Lake Formation-Konsole und klicken Sie auf Standort registrieren.
  2. Gib den Pfad zu dem S3-Bucket ein, der mit der CloudFormation-Vorlage erstellt wurde. In diesem Bucket werden die Daten gespeichert, die während des Pipeline-Prozesses aufgenommen werden.
  3. Für die IAM-Rollewählst du die LF-GlueServiceRole aus, die von der CloudFormation-Vorlage erstellt wurde.
  4. Unter Erlaubnis-Moduswählst du See-Bildung um erweiterte Zugriffskontrollfunktionen zu aktivieren.
  5. Klick Standort registrieren um deine Konfiguration zu speichern.

Sobald du dich registriert hast, überprüfe den Standort deines Datensees, um sicherzustellen, dass er richtig konfiguriert ist. Dieser Schritt ist wichtig für eine nahtlose Datenverwaltung und Sicherheit in deinem Lake Formation Setup.

Screenshot der AWS Lake Formation-Seite "Standort registrieren" mit Feldern für den Amazon S3-Pfad, die Auswahl der IAM-Rolle (LF-GlueServiceRole) und die Optionen für den Berechtigungsmodus, einschließlich Lake Formation und Hybrid-Zugriffsmodus

Registrierung eines Amazon S3-Standorts in AWS Lake Formation

Lake Formation Tags (LF-Tags)

LF-Tags können verwendet werden, um Ressourcen zu organisieren und Berechtigungen in vielen Ressourcen gleichzeitig zu setzen. Sie ermöglicht es dir, Daten mithilfe von Taxonomien zu organisieren und so komplexe Richtlinien aufzuschlüsseln und Berechtigungen effektiv zu verwalten. Das ist möglich, weil du mit LF-Tags die Richtlinie von der Ressource trennen kannst und somit Zugriffsrichtlinien einrichten kannst, noch bevor Ressourcen erstellt werden.

Schritte zum Erstellen und Zuweisen von LF-Tags

  • LF-Tags erstellen:
    • Navigiere zur Konsole Lake Formation unter AWS Lake Formation.
    • Wählen Sie im Navigationsbereich LF-Tags und Berechtigungenund klicke dann auf LF-Tag hinzufügen.
    • Gib "Klassifizierung" als Schlüssel an und füge "Sensibel" und "Nicht sensibel" als Werte hinzu. Klicke auf LF-Tag hinzufügen.

Screenshot der AWS Lake Formation-Seite "LF-Tag hinzufügen" mit Optionen zum Definieren von Schlüsseln und Werten, zum Erteilen von LF-Tag-Berechtigungen und zum Zuweisen von LF-Tag-Schlüssel-Wert-Paar-Berechtigungen für Datenkatalogressourcen.

Erstellen von LF-Tags in der AWS Lake Formation

  • Erteile LF-Tag-Berechtigungen:
    • Vergewissere dich, dass der Benutzer lf-data-admin über LF-Tag-Berechtigungen verfügt. Navigieren Sie zu Tabellen in der Lake Formation Konsole.
    • Wählen Sie die Tabelle dl_tpc_customer, klicken Sie auf die Aktionen Menü, und wähle Erteilen.
    • Unter IAM-Benutzer und Rollenwähle lf-data-admin aus.
    • Für LF-Tags oder Katalogressourcen wählst du Katalogressourcen für benannte Daten.
    • Wähle die Datenbank tpc und die Tabelle dl_tpc_customer und erteile der TabelleAlter Rechte. Klick Grant.

Screenshot der AWS Lake Formation-Seite "Berechtigungen erteilen" mit dem IAM-Benutzer lf-data-admin, der Auswahl der Named Data Catalog-Ressourcen und der Konfiguration für die tpc-Datenbank und die dl_tpc_customer-Tabelle.

Erteilung von Genehmigungen in der AWS Lake Formation

  • Weise den Datenkatalogobjekten LF-Tags zu:
    • Navigieren Sie zu Tabellen und wähle die Tabelle dl_tpc_customer aus. Öffne die Details der Tabelle und wähle LF-Tags bearbeiten aus dem Aktionsmenü.
    • Klicke auf Neues LF-Tag zuweisen, gib "Klassifizierung" als Schlüssel an und setze "Nicht sensibel" als Wert. Klicke auf Speichern.
    • Wählen Sie im Aktionsmenü der Tabelle Schema bearbeiten. Wählen Sie Spalten wie c_first_name, c_last_name und c_email_address, und klicken Sie auf LF-Tags bearbeiten.
    • Ändere für den geerbten Schlüssel Classification den Wert auf "Sensibel" und klicke auf Speichern. Speichere diese Konfiguration als neue Version.
  • Wende LF-Tags auf weitere Tabellen an:
    • Die Tabelle dl_tpc_household_demographics findest du unter Aktionen und wähle LF-Tags bearbeiten.
    • Klicken Sie im Dialogfeld auf Neuen LF-Tag zuweisen. Set Gruppe als Schlüssel und Analyst als Wert. Klicke auf Speichern um den Vorgang abzuschließen.

Wenn du diese Schritte befolgst, kannst du deinen Datenkatalogobjekten effizient LF-Tags zuweisen und so eine sichere, feinkörnige Zugriffskontrolle in deinem Data Lake gewährleisten.

Schritt 4: Einen ETL-Auftrag in AWS Glue erstellen

AWS Glue Studio ist eine Drag-and-Drop-Benutzeroberfläche, mit der Benutzer ETL-Aufträge für AWS Glue entwickeln, debuggen und überwachen können. Dateningenieure nutzen Glue ETL, das auf Apache Spark basiert, um in Amazon S3 gespeicherte Datensätze umzuwandeln und Daten zur Analyse in Data Lakes und Warehouses zu laden. Um den Zugang effektiv zu verwalten, wenn mehrere Teams an denselben Datensätzen arbeiten, ist es wichtig, den Zugang zu gewähren und ihn nach Rollen einzuschränken.

Erteilung von Genehmigungen mit AWS Lake Formation

Befolge diese Schritte, um dem Benutzer lf-data-engineer und der entsprechenden Rolle DE-GlueServiceRole die erforderlichen Berechtigungen zu erteilen. Diese Rolle wird vom Data Engineer verwendet, um in Glue Studio-Jobs auf Tabellen des Glue Data Catalog zuzugreifen.

  1. Melde dich als Data Lake Administrator an:
    • Verwende den Benutzer lf-data-admin, um dich bei der AWS Management Console anzumelden. Rufe das Passwort aus dem AWS Secrets Manager und die Anmelde-URL aus der CloudFormation-Ausgabe ab.
  2. Erteile Auswahlberechtigungen für eine Tabelle:
    • Navigieren Sie zu Berechtigungen für den Datensee in der Lake Formation Konsole.
    • Klick Erteilenund gib in dem Dialogfeld die folgenden Informationen an:
      • IAM Benutzer und Rollen: Gib lf-data-engineer und DE-GlueServiceRole ein.
      • LF-Tags oder Katalogressourcen: Wählen Sie Benannte Datenkatalogressourcen.
      • Datenbanken: Wähle tpc.
      • Tabellen: Wähle dl_tpc_household_demographics.
      • Berechtigungen für die Tabelle: Wähle Wählen Sie und Beschreiben.
    • Klick Erteilen um die Berechtigungen zu speichern.
  3. Erteile die Berechtigung zum Erstellen von Tabellen für eine Datenbank:
    • Navigieren Sie zu Data Lake-Berechtigungen wieder.
    • Klick Erteilenund gib in dem Dialogfeld die folgenden Informationen an:
      • IAM Benutzer und Rollen: Gib DE-GlueServiceRole ein.
      • LF-Tags oder Katalogressourcen: Wählen Sie Benannte Datenkatalogressourcen.
      • Datenbanken: Wähle tpc (lass die Tabellen nicht ausgewählt).
      • Datenbank-Berechtigungen: Wählen Sie Tabelle erstellen.
    • Klick Erteilen um die Berechtigungen zu bestätigen.

Screenshot der AWS Lake Formation Seite "Berechtigungen erteilen", auf der die Optionen für Datenbankberechtigungen wie "Tabelle erstellen", "Ändern", "Löschen" und "Super" zusammen mit den Einstellungen für den hybriden Zugriffsmodus und einer Informationsmeldung über mögliche Zugriffsverweigerungen angezeigt werden.

Konfigurieren von Datenbankberechtigungen in AWS Lake Formation

Mit diesen Schritten erhält der Benutzer lf-data-engineer und die Rolle DE-GlueServiceRole die nötigen Rechte, um mit den Tabellen des Glue Data Catalog zu arbeiten und Ressourcen in Glue Studio-Jobs zu verwalten. Diese Einrichtung gewährleistet einen sicheren, rollenbasierten Zugang zu deinem Data Lake.

Glue Studio ETL-Jobs erstellen

In diesem Abschnitt werden wir einen ETL-Auftrag in AWS Glue Studio mit SQL Transform erstellen.

  • Melde dich bei AWS als lf-data-engineer an:
    • Verwende den Benutzer lf-data-engineer, um dich bei der AWS Management Console anzumelden. Rufe das Passwort aus dem AWS Secrets Manager und der Anmelde-URL ab, die in der CloudFormation-Ausgabe angegeben ist.
  • Öffne Glue Studio und beginne einen neuen Auftrag:
    • Navigieren Sie zur Glue Studio-Konsole und klicken Sie auf Visuelles ETL.
    • Benenne den Auftrag in LF_GlueStudio um, damit er leicht identifiziert werden kann.
  • Konfiguriere die Auftragsdetails:
    • Klicken Sie auf die Auftragsdetails um die folgenden Konfigurationen einzurichten: 
      • IAM-Rolle: Wähle DE-GlueServiceRole.
      • Klebeversion: Wähle Glue 5.0 - Unterstützung von Spark 3.1, Scala 2, Python 3.
      • Gewünschte Anzahl von Arbeitskräften: Stelle auf 5.
      • Job-Lesezeichen: Wähle Deaktivieren.
      • Anzahl der Wiederholungsversuche: Auf 0 setzen.

Screenshot der Seite mit den Auftragsdetails von AWS Glue Studio mit den Konfigurationsfeldern für die IAM-Rolle (DE-GlueServiceRole), den ETL-Auftragstyp (Spark), die Glue-Version (3.0), die Sprache (Python 3), den Arbeitertyp (G 1X) und die gewünschte Anzahl von Arbeitern.

Konfigurieren von Auftragsdetails in AWS Glue Studio

  • Füge einen Datenquellenknoten hinzu:
    • Unter dem Visuelle klickst du auf die Registerkarte + Schaltfläche und füge einen AWS Glue Datenkatalog Knoten hinzu, um die Datenquelle zu konfigurieren. Benenne diesen Knoten in "Amazon S3" um.
    • Wählen Sie die Amazon S3 Knoten im visuellen Editor aus und konfiguriere seine Eigenschaften im rechten Fenster:
      • Unter Datenquelleneigenschaften - Datenkatalogeinstellen:
        • Datenbank: tpc.
        • Tabelle: dl_tpc_household_demographics. (Hinweis: Der Benutzer lf-data-admin hat nur die Berechtigung lf-data-engineer Select für diese Tabelle erteilt. Andere Tabellen werden in der Auswahlliste nicht angezeigt).

Screenshot der Registerkarte AWS Glue Studio Visual, die einen mit Amazon S3 verknüpften Datenquellenknoten mit konfigurierten Eigenschaften für die tpc-Datenbank und die Tabelle dl_tpc_household_demographics im Datenkatalog zeigt.

Konfigurieren einer Datenquelle in AWS Glue Studio

  • Füge den SQL-Query-Knoten hinzu und konfiguriere ihn:
    • Wenn der Amazon S3-Knoten ausgewählt ist, klicken Sie auf das + Schaltfläche und füge einen SQL-Query-Knoten als Transformation hinzu.
    • Wählen Sie die SQL-Abfrage Knoten und konfiguriere ihn:
      • Unter Transformierengeben Sie Ihre SQL-Abfrage in das Feld SQL-Abfrage Feld ein.
      • Füge diese Abfrage hinzu: 
/* Select all records where buy potential is between 0 and 500 */
SELECT * 
FROM myDataSource 
WHERE hd_buy_potential = '0-500';
      • Unter Ausgabeschemaklicken Sie auf bearbeiten und lösche die Schlüssel hd_dep_count und hd_vehicle_count. Klicke auf anwenden..

Screenshot der Registerkarte "Visual" von AWS Glue Studio, die den Knoten "SQL Query" mit einer angewandten SQL-Abfrage (SELECT * FROM myDataSource WHERE hd_buy_potential = '0-500') und der zugehörigen Konfiguration des Ausgabeschemas zeigt.

Konfigurieren von SQL Query Transform in AWS Glue Studio

  • Füge einen Datenzielknoten hinzu:
    • Mit der SQL-Abfrage ausgewählt ist, klicke auf das + Schaltfläche und füge einen Datenziel-Knoten hinzu. Wähle Amazon S3 Ziel aus den Suchergebnissen aus.
    • Konfiguriere den Datenziel-S3-Knoten in der rechten Leiste:
      • Format: Wähle Parkett.
      • Verdichtungsart: Wähle Zackig.
      • S3 Zielort: Gib s3:///gluestudio/curated/ ein. (Ersetze durch den tatsächlichen Bucket-Namen aus der Registerkarte CloudFormation Outputs).
      • Optionen zur Aktualisierung des Datenkatalogs: Wählen Sie Erstelle eine Tabelle im Datenkatalog und aktualisiere bei späteren Läufen das Schema und füge neue Partitionen hinzu.
      • Datenbank: Wähle tpc .
      • Name der Tabelle: Gib einen Namen für die Ausgabetabelle an. Zum Beispiel: dl_tpc_household_demographics_below500.
  • Speichere und überprüfe den Auftrag:
    • Klicke auf Speichern in der oberen rechten Ecke, um den Auftrag zu speichern.
    • Optional kannst du zum Skript um das automatisch generierte Skript anzuzeigen. Du kannst dieses Skript bei Bedarf herunterladen oder bearbeiten.

Wenn du diese Schritte befolgst, erstellst du einen voll funktionsfähigen Glue Studio ETL-Job, der Daten umwandelt und die Ergebnisse in einen kuratierten S3-Ordner schreibt, während der Glue Data Catalog aktualisiert wird.

Schritt 5: Testen und Validieren der Integration

Um die in Lake Formation erteilten Berechtigungen zu bestätigen, führen Sie die folgenden Schritte aus, während Sie als Benutzer lf-data-engineer eingeloggt sind (wie im Abschnitt Glue Studio Aufträge erstellen Abschnitt beschrieben):

  1. Führe den LF_GlueStudio Job aus:
    • Navigieren Sie zum LF_GlueStudio Job und klicken Sie auf die Schaltfläche Ausführen in der oberen rechten Ecke, um den Auftrag auszuführen.
    • Überwachen Sie die Auftragsausführung, indem Sie die Option Läuft in der Joboberfläche auswählst.

Screenshot der Registerkarte "AWS Glue Studio Runs", die einen erfolgreich abgeschlossenen Joblauf für LF_GlueStudio mit Laufzeitdetails, Ausführungszeit, Worker-Typ und Glue-Version anzeigt.

Überwachung von Auftragsläufen in AWS Glue Studio

  1. Überprüfe die Auftragsausgabe:
    • Sobald der Status des Joblaufs Succeededanzeigt , gehe in den Ordner curated in deinem S3-Bucket, um die Ausgabedateien zu überprüfen. Diese Dateien sollten im Parquet-Format sein, wie bei der Auftragserstellung konfiguriert.

Screenshot eines Amazon S3 Buckets, der eine Liste der Parquet-Dateien im Ordner gluestudio/curated/ anzeigt, einschließlich Dateinamen, Zeitstempel der letzten Änderung, Größe und Speicherklasse.

Anzeige der Ausgabedateien in Amazon S3

  1. Überprüfe die neu erstellte Tabelle:
    • Öffne den Glue Data Catalog und navigiere zu der Datenbank, die du bei der Auftragserstellung angegeben hast.
    • Überprüfe, ob die neue Tabelle in der Datenbank aufgeführt ist und bestätige, dass die Ausgabedaten erfolgreich katalogisiert wurden.

Screenshot der Seite AWS Glue Databases mit den Eigenschaften der tpc-Datenbank und einer Liste der Tabellen mit ihren jeweiligen S3-Speicherorten, Klassifizierungen und Optionen zur Datenanzeige.

Anzeigen von Datenbanktabellen in AWS Glue

Best Practices für die Integration von AWS Lake Formation und AWS Glue

Bei der Integration von AWS Lake Formation und AWS Glue können die folgenden Best Practices die Datensicherheit verbessern, den Betrieb rationalisieren und die Leistung optimieren. Hier erfährst du, wie du das Beste aus diesen Diensten machen kannst:

Optimiere die Datenberechtigungen

  • Verabschiedung des Prinzips der geringsten Privilegien: Gib Benutzern und Rollen nur Zugriff auf die Ressourcen, die sie benötigen. Vermeide es, weitreichende Berechtigungen zu vergeben, die sensible Daten oder kritische Ressourcen unnötig offenlegen könnten.
  • Regelmäßige Überprüfung der Zugangsrichtlinien: Überprüfe und aktualisiere die Richtlinien regelmäßig, um sie an veränderte Sicherheits- und Compliance-Anforderungen anzupassen. Nutze Tools wie den AWS IAM Access Analyzer, um übermäßig freizügige Richtlinien zu erkennen.
  • LF-Tags für die Richtlinienverwaltung nutzen: Verwende Lake Formation Tags (LF-Tags), um verwandte Ressourcen zu gruppieren und die Verwaltung von Berechtigungen zu vereinfachen. Durch die Anwendung von Tags wie Sensitive oder Non-Sensitive kannst du skalierbare, wiederverwendbare Richtlinien erstellen, die automatisch auf getaggte Ressourcen angewendet werden.
  • Politiken von Ressourcen entkoppeln: Definiere Berechtigungen mit LF-Tags oder Vorlagen, bevor Ressourcen erstellt werden. Dies gewährleistet einen nahtlosen Integrationsprozess, wenn neue Datenquellen oder Tabellen hinzugefügt werden.

Jobs überwachen und debuggen

  • Aktiviere CloudWatch-Protokolle für Glue-Jobs: CloudWatch Logs kann detaillierte Protokolle von AWS Glue-Auftragsausführungen erfassen, einschließlich Fehlern und Ausführungsdetails. Mit diesen Protokollen kannst du Probleme schnell beheben.

Screenshot der AWS CloudWatch-Protokollereignisse mit Details zu den TPC Crawler-Aktivitäten, einschließlich Crawl-Startereignissen, Abschluss der Klassifizierung und Aktualisierungen der tpc-Datenbank.

Log-Ereignisse für TPC Crawler in AWS CloudWatch

  • Monitor Glue Metrics: AWS Glue liefert Metriken, die helfen, Ineffizienzen oder Probleme in deinen ETL-Workflows zu erkennen. Richte CloudWatch Alarme ein, um dich über ungewöhnliche Muster zu informieren.

Screenshot von AWS CloudWatch Metrics, der Job-Metriken für LF_GlueStudio anzeigt, einschließlich fehlgeschlagener Aufgaben, JVM GC-Zeit, Heap-Nutzung und genutzter Heap, mit Optionen zum Erstellen von Alarmen und grafischen Metriken.

Überwachung von AWS Glue Studio Auftragsmetriken

Partitionierung und Komprimierung verwenden

  • Optimiere die Datenpartitionierung: Unterteile Datensätze nach häufig nachgefragten Merkmalen, wie Abteilung, Datum oder Region. In Athena oder Redshift zum Beispiel kann die Aufteilung der Verkaufsdaten nach Monat und Jahr die Abfragenerheblich beschleunigen und die Scankosten senken.
  • Wähle das richtige Komprimierungsformat: Verwende kolumnare Speicherformate, die für analytische Workloads entwickelt wurden, wie ORC oder Parquet. Kombiniere diese mit effektiven Komprimierungsalgorithmen wie Snappy, um Speicherplatz zu sparen und Abfragen zu beschleunigen.
  • Partitionierung in Glue-Jobs automatisieren: AWS Glue-Aufträge können Daten während des ETL-Prozesses dynamisch partitionieren. Gib in deiner Jobkonfiguration Partitionsschlüssel an, um sicherzustellen, dass die eingehenden Daten in einem strukturierten Format gespeichert werden.
  • Überprüfe und passe die Strategien regelmäßig an: Beurteile, wie gut deine Komprimierung und Partitionierung funktioniert, wenn dein Datenvolumen wächst. Untersuche Abfragetrends und ändere dann das Partitionierungsschema, um dich an die veränderten Arbeitslasten anzupassen.

Fazit

Die Implementierung von AWS Lake Formation und AWS Glue hilft dem Unternehmen, Daten zu organisieren, zu schützen und zu verarbeiten. Mit den umfassenden Sicherheitsmaßnahmen von Lake Formation und der Automatisierung von Glue kannst du deine ETL-Prozesse optimieren, alle Richtlinien zur Data Governance einhalten und den Nutzern, einschließlich Data Engineers und Data Scientists, einen einfachen Zugang zu den Daten bieten.

Zu den Vorteilen gehören:

  • Erhöhte Sicherheit: Die fein abgestufte Zugriffskontrolle mit LF-Tags stellt sicher, dass sensible Daten nur für autorisierte Nutzer zugänglich sind.
  • Automatisierung: AWS Glue vereinfacht die Datenvorbereitung und -umwandlung und reduziert so den manuellen Aufwand und Fehler.
  • Skalierbarkeit: Dynamische Berechtigungen und Richtlinienverwaltung ermöglichen eine nahtlose Skalierung bei wachsenden Daten.
  • Effizienz: Optimierte Speicher- und Abfrageleistung durch Partitionierung und Komprimierung sparen Zeit und Kosten.

Wenn du dein Verständnis von Datenintegration vertiefst, ist es wichtig, dass du dein Wissen durch praktische Kenntnisse ergänzt. Wenn du zum Beispiel Datenpipelines mit ETL und ELT in Python beherrschst, kannst du deine Daten effizient verarbeiten und umwandeln. Ebenso wird ein solides Verständnis von Datenmanagementkonzepten die Strukturierung und Handhabung von Datensätzen verbessern. Und um sicherzustellen, dass deine Ergebnisse verlässlich sind, musst du die Grundsätze verstehen, die im Kurs Einführung in die Datenqualität vermittelt werden.

FAQs

Was ist der Zweck der Integration von AWS Lake Formation und AWS Glue?

Durch die Implementierung von AWS Lake Formation und AWS Glue ist es möglich, sichere, automatisierte und skalierbare Datenpipelines zu entwickeln. Diese Integration bietet eine umfassende Zugriffskontrolle, optimierte ETL-Prozesse und eine einheitliche Plattform für Datenmanagement, Analysen und Compliance.

Was ist die Bedeutung der LF-Tags in der AWS Lake Formation?

LF-Tags ermöglichen eine umfassende Verwaltung von Berechtigungen, da die Daten durch sie nach bestimmten Taxonomien organisiert werden, zum Beispiel "sensibel" oder "nicht sensibel". Sie helfen dabei, die Komplexität der Zugriffsrichtlinien zu reduzieren, da du Berechtigungen auf der Grundlage von Tags festlegen kannst, bevor die Ressourcen tatsächlich erstellt werden; dies bietet ein gewisses Maß an Flexibilität und Sicherheit.

Welche Rolle spielt AWS Glue Studio bei dieser Integration?

AWS Glue Studio ist ein Datenkonvertierungstool mit einer Drag-and-Drop-Oberfläche. Über diese Schnittstelle können Nutzer ETL-Jobs entwickeln, überwachen und steuern. Es macht Datenumwandlungsprozesse effizienter und hilft so, Daten für weitere Analysen umzuwandeln.

Können mehrere Teams sicher auf denselben Datensatz zugreifen?

Ja, AWS Lake Formation bietet die Möglichkeit einer feingranularen Zugriffskontrolle, bei der du Benutzern Zugriff auf bestimmte Rollen oder sogar LF-Tags gewähren kannst. Auf diese Weise kann jedes Team nur die Daten einsehen, die es selbst betreffen, und die Daten selbst sind geschützt.

Was ist der im Artikel erwähnte TPC-Datensatz?

Der TPC-Datensatz ist ein synthetischer Datensatz, der für Trainings-, Benchmarking- und Bildungszwecke zur Verfügung steht. Sie enthält Informationen über verschiedene Produkte, Kunden, demografische Daten, Webverkäufe und andere transaktionsbezogene Daten, was sie realistischer macht.


Rahul Sharma's photo
Author
Rahul Sharma
LinkedIn
Twitter

Rahul Sharma ist ein AWS-Botschafter, DevOps-Architekt und technischer Blogger, der sich auf Cloud Computing, DevOps-Praktiken und Open-Source-Technologien spezialisiert hat. Mit seiner Expertise in AWS, Kubernetes und Terraform vereinfacht er komplexe Konzepte für Lernende und Fachleute durch ansprechende Artikel und Tutorials. Rahul liebt es, DevOps-Herausforderungen zu lösen und Erkenntnisse zu teilen, um die Tech-Community zu unterstützen.

Themen

Lerne mehr über AWS mit diesen Kursen!

Zertifizierung verfügbar

Kurs

Konzepte der AWS Cloud-Technologie und -Dienste

3 hr
6.5K
Beherrsche die AWS-Cloud-Technologie durch praktisches Lernen und praktische Anwendungen im AWS-Ökosystem.
Siehe DetailsRight Arrow
Kurs starten
Mehr anzeigenRight Arrow
Verwandt

Der Blog

Die 32 besten AWS-Interview-Fragen und Antworten für 2024

Ein kompletter Leitfaden zur Erkundung der grundlegenden, mittleren und fortgeschrittenen AWS-Interview-Fragen, zusammen mit Fragen, die auf realen Situationen basieren. Es deckt alle Bereiche ab und sorgt so für eine abgerundete Vorbereitungsstrategie.
Zoumana Keita 's photo

Zoumana Keita

30 Min.

Der Blog

Die 20 besten Snowflake-Interview-Fragen für alle Niveaus

Bist du gerade auf der Suche nach einem Job, der Snowflake nutzt? Bereite dich mit diesen 20 besten Snowflake-Interview-Fragen vor, damit du den Job bekommst!
Nisha Arya Ahmed's photo

Nisha Arya Ahmed

20 Min.

Der Blog

Top 30 Generative KI Interview Fragen und Antworten für 2024

Dieser Blog bietet eine umfassende Sammlung von Fragen und Antworten zu generativen KI-Interviews, die von grundlegenden Konzepten bis hin zu fortgeschrittenen Themen reichen.
Hesam Sheikh Hassani's photo

Hesam Sheikh Hassani

15 Min.

Der Blog

Q2 2023 DataCamp Donates Digest

DataCamp Donates hat im zweiten Quartal 2023 über 20.000 Stipendien an unsere gemeinnützigen Partner vergeben. Erfahre, wie fleißige benachteiligte Lernende diese Chancen in lebensverändernde berufliche Erfolge verwandelt haben.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

Der Blog

2022-2023 DataCamp Classrooms Jahresbericht

Zu Beginn des neuen Schuljahres ist DataCamp Classrooms motivierter denn je, das Lernen mit Daten zu demokratisieren. In den letzten 12 Monaten sind über 7.650 neue Klassenzimmer hinzugekommen.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

8 Min.

Mehr anzeigenMehr anzeigen