Kurs
AWS-Seebildung und Kleberintegration: Eine Schritt-für-Schritt-Anleitung
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.
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
undDataEngineerUser
: 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.
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:
- Im Navigationsbereich, unter Verwaltungdie Option Administrative Rollen und Aufgaben.
- Erscheint die Gruppe
IAMAllowedPrincipals
unter Datenbankerstellererscheint, markieren Sie die Gruppe und wählen Sie Widerrufen. - 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.
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.
- Navigiere zur AWS-Seeformung Konsole und wählen Sie Datenbanken im linken Navigationsbereich aus.
- Klicken Sie auf die Schaltfläche Datenbank erstellen Schaltfläche.
- Benenne die Datenbank "tpc", da sie für den TPC-Datensee verwendet wird.
- 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
, wobeiaccount-ID
deine 12-stellige AWS-Kontonummer ist. - Deaktivieren Sie die Option Nur IAM-Zugriffskontrolle für neue Tabellen in dieser Datenbank verwenden um eine feinkörnige Zugriffskontrolle zu aktivieren.
- 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.
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:
- Navigieren Sie in der AWS Lake Formation Konsole zu Datenbanken und wähle die
tpc
Datenbank aus. - Von den Aktionen Dropdown-Menü wählst du Erteilen.
- 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.
Erteilung von Genehmigungen in der AWS Lake Formation
Ausführen des AWS Glue Crawlers
Wenn du die Berechtigungen hast, kannst du den Crawler starten:
- Navigieren Sie in der AWS Lake Formation Konsole zu Crawler und klicken Sie auf , um den AWS Glue Konsole zu öffnen.
- Wählen Sie den Crawler namens TPC Crawler und klicken Sie auf Crawler ausführen.
- Überwachen Sie den Fortschritt, indem Sie auf die Schaltfläche Aktualisieren Schaltfläche klicken.
- 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).
Ausführen des TPC Crawlers in AWS Glue
Du kannst diese Tabellen auch in der AWS Lake Formation Konsole unter Datenkatalog und Tabellen.
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:
- Navigieren Sie zu den Data Lake Standorte in der AWS Lake Formation-Konsole und klicken Sie auf Standort registrieren.
- 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.
- Für die IAM-Rollewählst du die
LF-GlueServiceRole
aus, die von der CloudFormation-Vorlage erstellt wurde. - Unter Erlaubnis-Moduswählst du See-Bildung um erweiterte Zugriffskontrollfunktionen zu aktivieren.
- 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.
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.
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 Tabelledl_tpc_customer
und erteile der TabelleAlter
Rechte. Klick Grant.
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
undc_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.
- 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.
- Verwende den Benutzer
- 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
undDE-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.
- IAM Benutzer und Rollen: Gib
- Klick Erteilen um die Berechtigungen zu speichern.
- 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.
- IAM Benutzer und Rollen: Gib
- Klick Erteilen um die Berechtigungen zu bestätigen.
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.
- Verwende den Benutzer
- Ö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.
- IAM-Rolle: Wähle
- Klicken Sie auf die Auftragsdetails um die folgenden Konfigurationen einzurichten:
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 Benutzerlf-data-admin
hat nur die Berechtigunglf-data-engineer
Select für diese Tabelle erteilt. Andere Tabellen werden in der Auswahlliste nicht angezeigt).
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
undhd_vehicle_count
. Klicke auf anwenden..
- Unter Ausgabeschemaklicken Sie auf bearbeiten und lösche die Schlüssel
-
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. (Ersetzedurch 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):
- 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.
Überwachung von Auftragsläufen in AWS Glue Studio
- Ü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.
Anzeige der Ausgabedateien in Amazon S3
- Ü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.
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.
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.
Ü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 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.
Lerne mehr über AWS mit diesen Kursen!
Kurs
AWS-Konzepte für Sicherheit und Kostenmanagement
Lernpfad
AWS Cloud Practitioner (CLF-C02)
Der Blog
Die 32 besten AWS-Interview-Fragen und Antworten für 2024
Der Blog
Die 20 besten Snowflake-Interview-Fragen für alle Niveaus

Nisha Arya Ahmed
20 Min.
Der Blog
Top 30 Generative KI Interview Fragen und Antworten für 2024

Hesam Sheikh Hassani
15 Min.
Der Blog
Q2 2023 DataCamp Donates Digest
Der Blog