ETLProzesse werden in konvertiert AWS GlueAWS Schema Conversion Tool - AWS Schema Conversion Tool

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

ETLProzesse werden in konvertiert AWS GlueAWS Schema Conversion Tool

Im Folgenden finden Sie einen Überblick über den Prozess zum Konvertieren von ETL Skripten AWS Glue mit AWS SCT. In diesem Beispiel konvertieren wir eine Oracle-Datenbank zusammen mit den ETL Prozessen, die mit den Quelldatenbanken und Data Warehouses verwendet werden, in Amazon Redshift.

Das folgende Architekturdiagramm zeigt ein Beispiel für ein Datenbankmigrationsprojekt, das die Konvertierung von ETL Skripten in AWS Glue beinhaltet.

Ein Diagramm, das die Konvertierung von Datenbanken und zeigtETL.

Voraussetzungen

Bevor Sie beginnen, führen Sie die folgenden Schritte aus:

  • Migrieren Sie alle Quelldatenbanken, zu denen Sie migrieren möchten AWS.

  • Migrieren Sie die Ziel-Data Warehouses zu AWS.

  • Sammeln Sie eine Liste mit dem gesamten Code, der an Ihrem ETL Prozess beteiligt ist.

  • Erstellen Sie eine Liste aller erforderlichen Verbindungsinformationen für jede Datenbank.

AWS Glue Benötigt außerdem Berechtigungen, um in Ihrem Namen auf andere AWS Ressourcen zuzugreifen. Sie geben diese Berechtigungen mit AWS Identity and Access Management (IAM) an. Stellen Sie sicher, dass Sie eine IAM Richtlinie für erstellt haben AWS Glue. Weitere Informationen finden Sie unter Erstellen einer IAM Richtlinie für den AWS Glueservice im AWS Glue Entwicklerhandbuch.

Den AWS Glue Datenkatalog verstehen

AWS Glue Lädt im Rahmen des Konvertierungsprozesses Informationen zu den Quell- und Zieldatenbanken. Es organisiert diese Informationen in Kategorien in einer Struktur, die als Baum bezeichnet wird. Diese Struktur umfasst Folgendes:

  • Verbindungen — Verbindungsparameter

  • Crawler — Eine Liste von Crawlern, ein Crawler für jedes Schema

  • Datenbanken — Container, die Tabellen enthalten

  • Tabellen — Metadatendefinitionen, die die Daten in den Tabellen darstellen

  • ETLJobs — Geschäftslogik, die die ETL Arbeit erledigt

  • Auslöser — Logik, die steuert, wann ein ETL Job ausgeführt wird AWS Glue (ob bei Bedarf, nach Zeitplan oder ausgelöst durch Auftragsereignisse)

Der AWS Glue -Datenkatalog ist ein Index für die Speicherort-, Schema- und Laufzeitmetriken Ihrer Daten. Wenn Sie mit AWS Glue und arbeiten AWS SCT, enthält der AWS Glue Datenkatalog Verweise auf Daten, die als Quellen und Ziele für Ihre ETL Jobs in verwendet werden AWS Glue. Um Ihr Data Warehouse zu erstellen, katalogisieren Sie diese Daten.

Sie verwenden die Informationen im Datenkatalog, um Ihre ETL Jobs zu erstellen und zu überwachen. Normalerweise führen Sie einen Crawler aus, um die Daten in Ihren Datenspeichern zu inventarisieren. Es gibt jedoch auch andere Möglichkeiten, Metadatentabellen in Ihren Datenkatalog einzufügen.

Wenn Sie eine Tabelle in Ihrem Datenkatalog definieren, fügen Sie sie einer Datenbank hinzu. Eine Datenbank wird verwendet, um Tabellen in zu organisieren AWS Glue.

Einschränkungen bei der Konvertierung AWS SCT mithilfe von AWS Glue

Die folgenden Einschränkungen gelten für die Konvertierung AWS SCT mit AWS Glue.

Ressource Standardlimit
Anzahl der Datenbanken pro Konto 10.000
Anzahl der Tabellen pro Datenbank 100 000
Anzahl der Partitionen pro Tabelle 1 000 000
Anzahl der Tabellenversionen für jede Tabelle 100 000
Anzahl der Tabellen für jedes Konto 1 000 000
Anzahl der Partitionen für jedes Konto 10 000 000
Anzahl der Tabellenversionen für jedes Konto 1 000 000
Anzahl der Verbindungen für jedes Konto 1.000
Anzahl der Crawler für jedes Konto 25
Anzahl der Aufträge pro Konto 25
Anzahl der Auslöser für jedes Konto 25
Anzahl der gleichzeitigen Aufträge pro Konto 30
Anzahl der gleichzeitigen Auftragsausführungen für jeden Auftrag 3
Anzahl der Aufträge für jeden Auslöser 10
Anzahl der Entwicklungsendpunkte für jedes Konto 5
Maximale Anzahl von Datenverarbeitungseinheiten (DPUs), die von einem Entwicklungsendpunkt gleichzeitig verwendet werden 5
DPUsHöchstzahl, die von einer Rolle gleichzeitig verwendet wird 100
Länge des Datenbanknamens

Unbegrenzt

Aus Kompatibilitätsgründen mit anderen Metadatenspeichern, wie z. B. Apache Hive, wird der Name in Kleinbuchstaben gespeichert.

Wenn Sie von Amazon Athena aus auf die Datenbank zugreifen möchten, geben Sie einen Namen an, der nur alphanumerische Zeichen und Unterstriche enthält.

Länge des Verbindungsnamens Unbegrenzt
Länge des Crawler-Namens Unbegrenzt

Schritt 1: Erstellen eines neuen -Projekts

Gehen Sie wie folgt vor, um ein neues Projekt zu erstellen:

  1. Erstellen Sie ein neues Projekt in AWS SCT. Weitere Informationen finden Sie unter Projekte starten und verwalten in AWS SCT.

  2. Fügen Sie dem Projekt Ihre Quell- und Zieldatenbanken hinzu. Weitere Informationen finden Sie unter Server zum Projekt hinzufügen in AWS SCT.

    Vergewissern Sie sich, dass Sie AWS Glue in den Verbindungseinstellungen für die Zieldatenbank die Option Verwenden ausgewählt haben. Wählen Sie dazu die AWS GlueRegisterkarte. Wählen Sie unter Aus AWS Profil kopieren das Profil aus, das Sie verwenden möchten. Das Profil sollte den AWS Zugriffsschlüssel, den geheimen Schlüssel und den Amazon S3 S3-Bucket-Ordner automatisch ausfüllen. Wenn dies nicht der Fall ist, geben Sie diese Informationen selbst ein. Nachdem Sie OK ausgewählt haben, AWS Glue werden die Objekte analysiert und Metadaten in den AWS Glue Datenkatalog geladen.

    Je nach Sicherheitseinstellungen erhalten Sie möglicherweise eine Warnmeldung, die Sie darüber informiert, dass Ihr Konto nicht über ausreichende Berechtigungen für einige der Schemata auf dem Server verfügt. Wenn Sie Zugriff auf die verwendeten Schemata haben, können Sie diese Meldung ignorieren.

  3. Stellen Sie eine Verbindung zu Ihren Quell- und Zieldatenbanken herETL, um die Vorbereitungen für den Import abzuschließen. Wählen Sie dazu Ihre Datenbank in der Quell- oder Ziel-Metadatenstruktur aus und wählen Sie dann Mit dem Server verbinden aus.

AWS Glue erstellt eine Datenbank auf dem Quelldatenbankserver und eine auf dem Zieldatenbankserver, um bei der ETL Konvertierung zu helfen. Die Datenbank auf dem Zielserver enthält den AWS Glue Datenkatalog. Verwenden Sie die Suche im Quell- oder Zielfenster, um nach bestimmten Objekten zu suchen.

Um zu sehen, wie ein bestimmtes Objekt konvertiert wird, suchen Sie nach einem Element, das Sie konvertieren möchten, und wählen Sie im Kontextmenü (Rechtsklick) die Option Schema konvertieren. AWS SCT wandelt dieses ausgewählte Objekt in ein Skript um.

Sie können das konvertierte Skript im Ordner Scripts im rechten Bereich überprüfen. Derzeit ist das Skript ein virtuelles Objekt, das nur als Teil Ihres AWS SCT Projekts verfügbar ist.

Um einen AWS Glue Job mit Ihrem konvertierten Skript zu erstellen, laden Sie Ihr Skript auf Amazon S3 hoch. Um das Skript auf Amazon S3 hochzuladen, wählen Sie das Skript und dann im Kontextmenü (Rechtsklick) die Option In S3 speichern aus.

Schritt 2: Erstellen Sie einen AWS Glue Job

Nachdem Sie das Skript in Amazon S3 gespeichert haben, können Sie es auswählen und dann AWS Glue Job konfigurieren wählen, um den Assistenten zur Konfiguration des AWS Glue Jobs zu öffnen. Der Assistent erleichtert die Einrichtung:

  1. Auf der ersten Registerkarte des Assistenten, dem Design Data Flow, können Sie eine Ausführungsstrategie und die Liste der Skripts auswählen, die Sie in diesen einen Job aufnehmen möchten. Sie können für jedes Skript Parameter auswählen. Sie können die Skripts auch neu anordnen, damit sie in der richtigen Reihenfolge ausgeführt werden.

  2. Auf der zweiten Registerkarte können Sie Ihrem Job einen Namen geben und die Einstellungen für ihn direkt konfigurieren AWS Glue. Auf diesem Bildschirm können Sie die folgenden Einstellungen vornehmen:

    • AWS Identity and Access Management (IAM) Rolle

    • Skript-Dateinamen und -Dateipfade

    • Verschlüsseln Sie das Skript mithilfe serverseitiger Verschlüsselung mit von Amazon S3 verwalteten Schlüsseln (-S3) SSE

    • Temporäres Verzeichnis

    • Generierter Python-Bibliothekspfad

    • Python-Bibliothekspfad des Benutzers

    • Pfad für die abhängigen .jar-Dateien

    • Pfad für referenzierte Dateien

    • Gleichzeitig DPUs für jeden ausgeführten Job

    • Maximale Gleichzeitigkeit

    • Auftrag-Zeitüberschreitung (in Minuten)

    • Schwellenwert für die Verzögerungsbenachrichtigung (in Minuten)

    • Anzahl der Wiederholungen

    • Security configuration (Sicherheitskonfiguration)

    • Server-side encryption

  3. Im dritten Schritt bzw. auf der dritten Registerkarte wählen Sie die konfigurierte Verbindung zum Zielendpunkt aus.

Nachdem Sie die Konfiguration des Jobs abgeschlossen haben, wird er im AWS Glue Datenkatalog unter den ETL Jobs angezeigt. Wenn Sie den Auftrag auswählen, werden die zugehörigen Einstellungen angezeigt, sodass Sie sie überprüfen oder bearbeiten können. Um einen neuen Job in zu erstellen AWS Glue AWS Glue , wählen Sie im Kontextmenü (Rechtsklick) für den Job die Option Job erstellen. Dadurch wird die Schemadefinition angewendet. Um die Anzeige zu aktualisieren, wählen Sie Refresh from database (Aus der Datenbank aktualisieren) aus dem Kontextmenü.

Zu diesem Zeitpunkt können Sie Ihren Job in der AWS Glue Konsole anzeigen. Melden Sie sich dazu bei der an AWS Management Console und öffnen Sie die AWS Glue Konsole unter https://console.aws.amazon.com/glue/.

Sie können den neuen Auftrag testen, um sicherzustellen, dass er korrekt funktioniert. Überprüfen Sie die Daten in Ihrer Quelltabelle und prüfen Sie dann, ob die Zieltabelle leer ist. Führen Sie den Auftrag aus und überprüfen Sie erneut. Sie können Fehlerprotokolle von der AWS Glue Konsole aus einsehen.