Verwenden von Connectors und Verbindungen mit AWS Glue Studio - AWS Glue

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.

Verwenden von Connectors und Verbindungen mit AWS Glue Studio

Anmerkung

Neue Amazon-RDS-Datenbank-Instances verwenden standardmäßig das neue Zertifikat rds-ca-rsa2048-g1. -AWS GlueAufträge und Testverbindungen basieren derzeit auf certificate rds-ca-2019. Um neue Amazon-RDS-Instances mit AWS Glue Aufträgen oder Testverbindungen zu verbinden, legen Sie Ihre Instance so fest, dass sie das Zertifikat rds-ca-2019 über die AWSKonsole oder verwendetAWS CLI. Weitere Informationen finden Sie unter Verwenden von SSL/TLS zum Verschlüsseln einer Verbindung mit einer DB-Instance im Amazon-RDS-Benutzerhandbuch.

AWS Glue bietet integrierte Unterstützung der gängigsten Datenspeicher (wie Amazon Redshift, Amazon Aurora, Microsoft SQL Server, MySQL, MongoDB und PostgreSQL) über JDBC-Verbindungen. Mit AWS Glue können Sie auch benutzerdefinierte JDBC-Treiber in Ihren ETL-Aufträgen (Extract, Transform, Load) verwenden. Für Datenspeicher, die nicht nativ unterstützt werden, z. B. SaaS Anwendungen, können Sie Connectors verwenden.

Ein Connector ist ein optionales Codepaket für den Zugriff auf Datenspeicher in AWS Glue Studio. Sie können mehrere Connectors abonnieren, die in AWS Marketplace angeboten werden.

Beim Erstellen von ETL-Aufträgen können Sie einen nativ unterstützten Datenspeicher, einen Connector aus AWS Marketplace oder Ihre eigenen benutzerdefinierten Connectors verwenden. Wenn Sie einen Connector verwenden, müssen Sie zunächst eine Verbindung für ihn erstellen. Eine Verbindung enthält die Eigenschaften, die für das Verbinden mit einem bestimmten Datenspeicher erforderlich sind. Sie verwenden die Verbindung mit Ihren Datenquellen und Datenzielen im ETL-Auftrag. Connectors und Verbindungen ermöglichen zusammen den Zugriff auf die Datenspeicher.

Übersicht zur Verwendung von Connectors und Verbindungen

Eine Verbindung enthält die Eigenschaften, die für das Verbinden mit einem bestimmten Datenspeicher erforderlich sind. Wenn Sie eine Verbindung erstellen, wird sie im AWS Glue Data Catalog gespeichert. Sie wählen einen Connector aus und erstellen dann eine Verbindung basierend auf diesem Connector.

Sie können Connectors für nicht nativ unterstützte Datenspeicher in AWS Marketplace abonnieren und Erstellen von Verbindungen verwenden. Entwickler können auch eigene Connectors erstellen und sie beim Erstellen von Verbindungen verwenden.

Anmerkung

Verbindungen, die mit benutzerdefinierten oder AWS Marketplace-Connectors in AWS Glue Studio erstellt werden, werden in der AWS Glue-Konsole mit dem Typ UNKNOWN angezeigt.

In den folgenden Schritten wird der allgemeine Prozess zur Verwendung von Connectors in AWS Glue Studio beschrieben:

  1. Abonnieren Sie einen Connector in AWS Marketplace oder entwickeln Sie Ihren eigenen Connector und laden Sie ihn in AWS Glue Studio hoch. Weitere Informationen finden Sie unter Hinzufügen von Connectors zu AWS Glue Studio.

  2. Überprüfen Sie die Nutzungsinformationen des Connectors. Sie finden diese Informationen auf der Registerkarte Usage (Verwendung) auf der Produktseite des Connectors. Wenn Sie beispielsweise auf der Produktseite AWS Glue Connector für Google BigQuery auf die Registerkarte Nutzung klicken, können Sie im Abschnitt Zusätzliche Ressourcen einen Link zu einem Blog über die Verwendung dieses Connectors sehen. Andere Connectors können Links zu den Anweisungen in Bereich Overview (Übersicht) enthalten, wie auf der Connector-Produktseite zum Cloudwatch-Logs-Connector für AWS Glue dargestellt.

  3. Verbindung erstellen Sie wählen den Connector aus, den Sie verwenden möchten, und stellen zusätzliche Informationen für die Verbindung bereit, wie Anmeldeinformationen, URI-Zeichenfolgen und VPC-Informationen (Virtual Private Cloud). Weitere Informationen finden Sie unter Erstellen von Verbindungen für Connectors.

  4. Erstellen Sie eine IAM-Rolle für Ihren Auftrag. Der Auftrag übernimmt die Berechtigungen der IAM-Rolle, die Sie angeben, wenn Sie sie erstellen. Diese IAM-Rolle muss über die nötigen Berechtigungen verfügen, sich bei Ihren Datenspeichern zu authentifizieren, Daten daraus zu extrahieren und darin zu schreiben.

  5. Erstellen Sie einen ETL-Auftrag und konfigurieren Sie die Datenquelleneigenschaften für Ihren ETL-Auftrag. Geben Sie die Verbindungsoptionen und Authentifizierungsinformationen an, wie vom benutzerdefinierten Connector-Anbieter angewiesen. Weitere Informationen finden Sie unter Erstellen von Aufträgen mit benutzerdefinierten Connectors.

  6. Passen Sie Ihren ETL-Auftrag an, indem Sie Transformationen oder zusätzliche Datenspeicher hinzufügen, wie unter Visuelle ETLs mit AWS Glue Studio beschrieben.

  7. Wenn Sie einen Connector für das Datenziel verwenden, konfigurieren Sie die Datenzieleigenschaften für Ihren ETL-Auftrag. Geben Sie die Verbindungsoptionen und Authentifizierungsinformationen an, wie vom benutzerdefinierten Connector-Anbieter angewiesen. Weitere Informationen finden Sie unter Erstellen von Aufträgen mit benutzerdefinierten Connectors.

  8. Passen Sie die Umgebung der Auftragsausführung an, indem Sie Auftragseigenschaften konfigurieren, wie unter Ändern der Auftragseigenschaften beschrieben.

  9. Führen Sie den Auftrag aus.

Hinzufügen von Connectors zu AWS Glue Studio

Ein Connector ist ein Stück Programmiercode, das die Kommunikation zwischen dem Datenspeicher und AWS Glue erleichtert. Sie können entweder einen Connector von AWS Marketplace abonnieren oder einen eigenen benutzerdefinierten Connector erstellen.

Abonnieren von AWS Marketplace-Connectors

AWS Glue Studio erleichtert das Hinzufügen von Connectors aus AWS Marketplace.

Einen Connector aus AWS Marketplace zu AWS Glue Studio hinzufügen
  1. Wählen Sie im Navigationsbereich in der AWS Glue Studio-Konsole Connectors aus.

  2. Wählen Sie auf der Seite Connectors die Option Go to AWS Marketplace (Zu MKT wechseln) aus.

  3. In AWS Marketplace unter Empfohlene Produkte wählen Sie den Connector aus, den Sie verwenden möchten. Sie können einen der empfohlenen Konnektoren auswählen oder die Suche verwenden. Sie können nach dem Namen oder Typ des Connectors suchen und Optionen verwenden, um die Suchergebnisse zu verfeinern.

    Wenn Sie einen der ausgewählten Konnektoren verwenden möchten, wählen Sie Produkt anzeigen aus. Wenn Sie die Suche verwendet haben, um einen Connector zu finden, wählen Sie den Namen des Connectors aus.

  4. Die Registerkarten auf der Produktseite für den Connector enthalten Informationen zum Connector. Wenn Sie sich entscheiden, diesen Connector zu kaufen, wählen Sie Continue to Subscribe (Weiter zum Abonnement) aus.

  5. Geben Sie die Zahlungsinformationen ein und wählen Sie dann Continue to Configure (Weiter zur Konfiguration) aus.

  6. Klicken Sie auf der Seite Configure this software (Diese Software konfigurieren) die Bereitstellungsmethode und die Version des Connectors aus, die verwendet werden soll. Wählen Sie dann Continue to Launch (Weiter zum Start) aus.

  7. Auf der Seite Launch this software (Diese Software starten) können Sie die Usage Instructions (Nutzungsanweisungen) des Connector-Anbieters ansehen. Um fortzufahren, wählen Sie Activate connection in AWS Glue Studio (Verbindung in Glue Studio aktivieren) aus.

    Nach kurzer Zeit zeigt die Konsole die Seite Create marketplace connection (Marketplace-Verbindung herstellen) in AWS Glue Studio an.

  8. Erstellen Sie eine Verbindung, die diesen Connector verwendet, wie in Erstellen von Verbindungen für Connectors beschrieben.

    Alternativ können Sie auch Activate connector only (Nur Connector aktivieren) auswählen, um das Erstellen einer Verbindung zu überspringen. Sie müssen eine Verbindung zu einem späteren Zeitpunkt erstellen, bevor Sie den Connector verwenden können.

Erstellen von benutzerdefinierten Connectors

Sie können auch einen eigenen Connector erstellen und dann den Connector-Code in AWS Glue Studio hochladen.

Benutzerdefinierte Connectors sind in AWS Glue Studio über die AWS Glue-Spark-Laufzeit-API integriert. Mit der AWS Glue-Spark-Laufzeit können Sie jeden Connector verbinden, der mit der Schnittstelle von Spark, Athena oder JDBC konform ist. So können Sie jede Verbindungsoption übergeben, die mit dem benutzerdefinierten Connector verfügbar ist.

Sie können alle Ihre Verbindungseigenschaften mit AWS Glue-Verbindungen kapseln und den Verbindungsnamen Ihrem ETL-Auftrag angeben. Durch die Integration mit Data-Catalog-Verbindungen können Sie dieselben Verbindungseigenschaften über mehrere Anrufe in einer einzelnen Spark-Anwendung oder über verschiedene Anwendungen hinweg verwenden.

Sie können zusätzliche Optionen für die Verbindung angeben. Das Auftragsskript, das AWS Glue Studio generiert, enthält einen Datasource-Eintrag, der die Verbindung verwendet, um den Connector mit den angegebenen Verbindungsoptionen anzuschließen. Beispiel:

Datasource = glueContext.create_dynamic_frame.from_options(connection_type = "custom.jdbc", connection_options = {"dbTable":"Account","connectionName":"my-custom-jdbc- connection"}, transformation_ctx = "DataSource0")
Einen benutzerdefinierten Connector zu AWS Glue Studio hinzufügen
  1. Erstellen Sie den Code für Ihren benutzerdefinierten Connector. Weitere Informationen finden Sie unter Entwickeln von benutzerdefinierten Connectors.

  2. Fügen Sie Ihrem Konnektor Support für AWS Glue-Features hinzu. Hier sind einige Beispiele für diese Features und wie sie innerhalb des Auftragsskripts verwendet werden, das von AWS Glue Studio generiert wird:

    • Datentypmapping – Ihr Connector kann den Typ von Spalten umwandeln, während sie aus dem zugrunde liegenden Datenspeicher gelesen werden. Beispiel: Ein dataTypeMapping von {"INTEGER":"STRING"} konvertiert alle Spalten des Typs Integer in Spalten vom Typ String, während die Datensätze analysiert und der DynamicFrame konstruiert werden. Dies hilft Benutzern, Spalten in Typen ihrer Wahl umzuwandeln.

      DataSource0 = glueContext.create_dynamic_frame.from_options(connection_type = "custom.jdbc", connection_options = {"dataTypeMapping":{"INTEGER":"STRING"}", connectionName":"test-connection-jdbc"}, transformation_ctx = "DataSource0")
    • Partitionierung für parallele Lesevorgänge – AWS Glueermöglicht parallele Datenlesevorgänge aus dem Datenspeicher, indem die Daten in einer Spalte partitioniert werden. Sie müssen die Partitionsspalte, die untere Partitionsgrenze, die obere Partitionsgrenze und die Anzahl der Partitionen angeben. Mit diesem Feature können Sie Datenparallelität und mehrere Spark Executors verwenden, die der Spark-Anwendung zugewiesen sind.

      DataSource0 = glueContext.create_dynamic_frame.from_options(connection_type = "custom.jdbc", connection_options = {"upperBound":"200","numPartitions":"4", "partitionColumn":"id","lowerBound":"0","connectionName":"test-connection-jdbc"}, transformation_ctx = "DataSource0")
    • AWS Secrets Manager zum Speichern von Anmeldedaten verwenden – Die Data-Catalog-Verbindung kann auch eine secretId für ein in AWS Secrets Manager gespeichertes Secret enthalten. Das AWS-Secret kann Authentifizierungs- und Anmeldeinformationen sicher speichern und Ihrem ETL-Auftrag sie AWS Glue zur Laufzeit zur Verfügung stellen. Alternativ können Sie auch die secretId wie folgt aus dem Spark-Skript angeben:

      DataSource = glueContext.create_dynamic_frame.from_options(connection_type = "custom.jdbc", connection_options = {"connectionName":"test-connection-jdbc", "secretId"-> "my-secret-id"}, transformation_ctx = "DataSource0")
    • Quelldaten mit Zeilenprädikaten und Spaltenprojektionen filtern – Die AWS Glue-Spark-Laufzeit ermöglicht es Benutzern auch, SQL-Abfragen zu senden, um Daten an der Quelle mit Zeilenprädikaten und Spaltenprojektionen zu filtern. Dadurch kann Ihr ETL-Auftrag gefilterte Daten schneller aus Datenspeichern laden, die Push-Downs unterstützen. Eine Beispiel-SQL-Abfrage, die an eine JDBC-Datenquelle weitergegeben wird, lautet:SELECT id, name, department FROM department WHERE id < 200.

      DataSource = glueContext.create_dynamic_frame.from_options(connection_type = "custom.jdbc", connection_options = {"query":"SELECT id, name, department FROM department WHERE id < 200","connectionName":"test-connection-jdbc"}, transformation_ctx = "DataSource0")
    • Auftragslesezeichen – AWS Glueunterstützt das inkrementelle Laden von Daten aus JDBC-Quellen. AWS Glueverfolgt den zuletzt verarbeiteten Datensatz aus dem Datenspeicher und verarbeitet neue Datensätze in den nachfolgenden ETL-Auftragsläufen. Auftragslesezeichen verwenden den Primärschlüssel als Standardspalte für den Lesezeichenschlüssel, vorausgesetzt, diese Spalte wird sequenziell vergrößert oder verringert. Weitere Informationen zu Auftragslesezeichen finden Sie unter Auftragslesezeichen im AWS Glue-Entwicklerhandbuch.

      DataSource0 = glueContext.create_dynamic_frame.from_options(connection_type = "custom.jdbc", connection_options = {"jobBookmarkKeys":["empno"], "jobBookmarkKeysSortOrder" :"asc", "connectionName":"test-connection-jdbc"}, transformation_ctx = "DataSource0")
  3. Verpacken Sie den benutzerdefinierten Connector als JAR-Datei und laden Sie die Datei in Amazon S3 hoch.

  4. Testen Sie Ihren benutzerdefinierten Connector. Weitere Informationen finden Sie in den Anweisungen zu GitHub unter Glue Custom Connectors: Leitfaden für lokale Validierungstests.

  5. Wählen Sie im Navigationsbereich in der AWS Glue Studio-Konsole Connectors aus.

  6. Wählen Sie auf der Seite Connectors die Option Create custom Connector (Benutzerdefinierten Connector erstellen) aus.

  7. Geben Sie auf der Seite Create custom Connector (Benutzerdefinierten Connector erstellen) Folgendes ein:

    • Den Speicherpfad der JAR-Datei mit dem benutzerdefinierten Code in Amazon S3.

    • Einen Namen für den Connector, der von AWS Glue Studio verwendet wird.

    • Den Connector-Typ, bei dem es sich um JDBC, Spark oder Athena handeln kann.

    • Den Namen des Einstiegspunkts in Ihrem benutzerdefinierten Code, den AWS Glue Studio zur Verwendung des Connectors aufruft.

      • Für JDBC-Connectors sollte in diesem Feld der Klassenname Ihres JDBC-Treibers eingetragen sein.

      • Bei Spark-Connectors sollte es sich bei diesem Feld um den vollqualifizierten Namen der Datenquellenklasse oder ihren Alias handeln, den Sie beim Laden der Spark-Datenquelle mit dem Operator format verwenden.

    • (Nur JDBC) Die Basis-URL, die von der JDBC-Verbindung für den Datenspeicher verwendet wird.

    • (Optional) Eine Beschreibung des benutzerdefinierten Connectors.

  8. Wählen Sie Create Connector (Connector erstellen) aus.

  9. Erstellen Sie auf der Seite Connectors (Verbindungen) eine Verbindung, die diesen Connector verwendet, wie in Erstellen von Verbindungen für Connectors beschrieben.

Erstellen von Aufträgen mit benutzerdefinierten Connectors

Sie können Connectors und Verbindungen sowohl für Datenquellenknoten als auch für Datenzielknoten in AWS Glue Studio erstellen.

Erstellen von Aufträgen, die einen Connector für die Datenquelle verwenden

Wenn Sie einen neuen Auftrag erstellen, können Sie einen Connector für die Datenquelle und die Datenziele auswählen.

Aufträge erstellen, die Connectors für die Datenquelle oder das Datenziel verwenden
  1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die AWS Glue Studio-Konsole unter https://console.aws.amazon.com/gluestudio/.

  2. Wählen Sie auf der Seite Connectors in der Ressourcenliste Your Connections (Ihre Verbindungen) die Verbindung aus, die Sie in Ihrem Auftrag verwenden möchten. Klicken Sie dann auf Create job (Auftrag erstellen).

    Alternativ können Sie in AWS Glue Studio auf der Seite Jobs (Aufträge) unter Create Job (Auftrag erstellen) die Option Source and target added to the graph (Quelle und Ziel zum Diagramm hinzugefügt) auswählen. In der Dropdown-Liste Source (Quelle) wählen Sie den benutzerdefinierten Connector aus, den Sie in Ihrem Auftrag verwenden möchten. Sie können auch einen Connector für Target (Ziel) auswählen.

    
              Das Bild ist ein Screenshot der Seite „Jobs“ (Aufträge), wobei die Dropdown-Liste „Source“ (Quelle) ausgewählt ist, in dem die verschiedenen Datenquellen angezeigt werden, die für den Auftrag ausgewählt werden können, einschließlich Connectors.
  3. Klicken Sie dann auf Create (Erstellen), um den visuellen Auftragseditor zu öffnen.

  4. Konfigurieren Sie den Datenquellknoten, wie unter Konfigurieren von Quelleneigenschaften für Knoten, die Connectors verwenden beschrieben.

  5. Fahren Sie mit der Erstellung Ihres ETL-Auftrags fort, indem Sie Transformationen, zusätzliche Datenspeicher und Datenziele hinzufügen, wie unter Visuelle ETLs mit AWS Glue Studio beschrieben.

  6. Passen Sie die Umgebung der Auftragsausführung an, indem Sie Auftragseigenschaften konfigurieren, wie unter Ändern der Auftragseigenschaften beschrieben.

  7. Speichern Sie den Auftrag und führen Sie ihn aus.

Konfigurieren von Quelleneigenschaften für Knoten, die Connectors verwenden

Nachdem Sie einen Auftrag erstellt haben, der einen Connector für die Datenquelle verwendet, zeigt der visuelle Auftragseditor ein Auftragsdiagramm mit einem Datenquellenknoten an, der für den Connector konfiguriert ist. Sie müssen die Datenquelleneigenschaften für diesen Knoten konfigurieren.

Eigenschaften für einen Datenquellenknoten konfigurieren, der einen Connector verwendet
  1. Wählen Sie den Connector-Datenquellknoten im Auftragsdiagramm aus, oder fügen Sie einen neuen Knoten hinzu und wählen Sie den Connector für den Node type (Knotentyp) aus. Wählen Sie dann auf der rechten Seite im Bereich „Node Details“ (Knotendetails) die Registerkarte Data source properties (Datenquelleneigenschaften) aus, falls sie nicht bereits ausgewählt ist.

    
              Das Bild ist ein Screenshot der Seite des visuellen Auftragseditors von AWS Glue Studio, wobei ein Datenquellenknoten im Diagramm ausgewählt ist. Die Registerkarte „Data source properties (Datenquelleneigenschaften)“ rechts ist ausgewählt. Die für die Datenquelleneigenschaften angezeigten Felder sind „Connection“ (Verbindung) (eine Dropdown-Liste verfügbarer Verbindungen, gefolgt von einer Schaltfläche zum Aktualisieren) und eine Schaltfläche „Add schema“ (Schema hinzufügen). Ein zusätzlicher Abschnitt „Connection options“ (Verbindungsoptionen) wird im ausgeblendeten Zustand angezeigt.
  2. Wählen Sie auf der Registerkarte Data source properties (Datenquelleneigenschaften) die Verbindung aus, die Sie für diesen Auftrag verwenden möchten.

    Geben Sie die zusätzlichen Informationen ein, die für jeden Verbindungstyp erforderlich sind:

    JDBC
    • Data source input type (Eingabetyp der Datenquelle): Geben Sie entweder einen Tabellennamen oder eine SQL-Abfrage als Datenquelle an. Abhängig vom gewählten Typ müssen Sie die folgenden zusätzlichen Informationen eingeben:

      • Table name (Tabellenname): Der Name der Tabelle in der Datenquelle. Wenn die Datenquelle den Begriff table (Tabelle) nicht verwendet, geben Sie den Namen einer geeigneten Datenstruktur an, wie durch die Nutzungsinformationen des benutzerdefinierten Connectors angegeben (verfügbar auf dem AWS Marketplace).

      • Filter predicate (Filterprädikat): Eine Bedingungsklausel, die beim Lesen der Datenquelle verwendet werden soll, ähnelt einer WHERE-Klausel zum Abrufen einer Teilmenge der Daten.

      • Query code (Abfragecode): Geben Sie eine SQL-Abfrage ein, die zum Abrufen eines bestimmten Datensatzes aus der Datenquelle verwendet werden soll. Ein Beispiel für eine einfache SQL-Abfrage:

        SELECT column_list FROM table_name WHERE where_clause
    • Schema: Da AWS Glue Studio Informationen in der Verbindung gespeicherte Informationen verwendet, um auf die Datenquelle zuzugreifen, anstatt Metadateninformationen aus einer Data-Catalog-Tabelle abzurufen, müssen Sie die Schemametadaten für die Datenquelle bereitstellen. Klicken Sie auf Add schema (Schema hinzufügen), um den Schema-Editor zu öffnen.

      Anweisungen zur Verwendung des Schema-Editors finden Sie unter Bearbeiten des Schemas in einem benutzerdefinierten Transformationsknoten.

    • Partition column (Partitionsspalte): (Optional) Sie können die Datenlesevorgänge partitionieren, indem Sie Werte für Partition column (Partitionsspalte), Lower bound (Untergrenze), Upper bound (Obergrenze) und Number of partitions (Anzahl der Partitionen) aus.

      Die Werte für lowerBound und upperBound werden verwendet, um den Partitionsschritt zu bestimmen, nicht zum Filtern der Zeilen in der Tabelle. Alle Zeilen der Tabelle werden partitioniert und zurückgegeben.

      Anmerkung

      Die Spaltenpartitionierung fügt der Abfrage, die zum Lesen der Daten verwendet wird, eine zusätzliche Partitionierungsbedingung hinzu. Wenn Sie eine Abfrage anstelle eines Tabellennamens verwenden, sollten Sie überprüfen, ob die Abfrage mit der angegebenen Partitionierungsbedingung funktioniert. Zum Beispiel:

      • Wenn Ihr Abfrageformat "SELECT col1 FROM table1" lautet, dann testen Sie die Abfrage, indem Sie eine WHERE-Klausel am Ende der Abfrage stellen, die die Partitionsspalte verwendet.

      • Wenn Ihr Abfrageformat "SELECT col1 FROM table1 WHERE col2=val" lautet, dann testen Sie die Abfrage, indem Sie die WHERE-Klausel mit AND und einem Ausdruck erweitern, der die Partitionsspalte verwendet.

    • Data type casting (Datentypumwandlung): Wenn die Datenquelle Datentypen verwendet, die in JDBC nicht verfügbar sind, geben Sie in diesem Abschnitt an, wie ein Datentyp aus der Datenquelle in JDBC-Datentypen konvertiert werden soll. Sie können bis zu 50 verschiedene Datentypkonvertierungen angeben. Alle Spalten in der Datenquelle, die denselben Datentyp verwenden, werden auf die gleiche Weise konvertiert.

      Wenn Sie beispielsweise über drei Spalten in der Datenquelle verfügen, die den Datentyp Float verwenden, und Sie angeben, dass der Datentyp Float in den JDBC–Datentyp String konvertiert werden soll, werden alle drei Spalten, die den Datentyp Float verwenden, in String-Datentypen konvertiert.

    • Job bookmark keys (Schlüssel für Auftragslesezeichen): Auftragslesezeichen helfen AWS Glue bei der Pflege von Zustandsinformationen und verhindern die Wiederaufbereitung alter Daten. Geben Sie eine oder mehrere Spalten als Lesezeichenschlüssel an. AWS Glue Studio verwendet Lesezeichenschlüssel, um Daten zu verfolgen, die bereits während einer früheren Ausführung des ETL-Auftrags verarbeitet wurden. Alle Spalten, die Sie für benutzerdefinierte Lesezeichenschlüssel verwenden, müssen streng monoton erhöht oder verringert werden, aber Lücken sind zulässig.

      Wenn Sie mehrere Lesezeichenschlüssel eingeben, werden diese zu einem einzigen zusammengesetzten Schlüssel zusammengefasst. Ein zusammengesetzter Schlüssel für Auftragslesezeichen sollte keine doppelten Spalten enthalten. Wenn Sie keine Lesezeichenschlüssel angeben, verwendet AWS Glue Studio standardmäßig den Primärschlüssel als Lesezeichenschlüssel, vorausgesetzt, dass der Primärschlüssel sequenziell erhöht oder verringert wird (ohne Lücken). Wenn die Tabelle keinen Primärschlüssel hat, aber die Eigenschaft „Job bookmark“ (Auftragslesezeichen) aktiviert ist, müssen Sie benutzerdefinierte Schlüssel für Auftragslesezeichen angeben. Andernfalls schlagen die Suche nach standardmäßig zu verwendenden Primärschlüsseln und die Auftragsausführung fehl.

    • Job bookmark keys sorting order (Sortierreihenfolge der Schlüssel für Auftragslesezeichen): Wählen Sie aus, ob die Schlüsselwerte auf- oder absteigend sortiert werden.

    Spark
    • Schema: Da AWS Glue Studio Informationen in der Verbindung gespeicherte Informationen verwendet, um auf die Datenquelle zuzugreifen, anstatt Metadateninformationen aus einer Data-Catalog-Tabelle abzurufen, müssen Sie die Schemametadaten für die Datenquelle bereitstellen. Klicken Sie auf Add schema (Schema hinzufügen), um den Schema-Editor zu öffnen.

      Anweisungen zur Verwendung des Schema-Editors finden Sie unter Bearbeiten des Schemas in einem benutzerdefinierten Transformationsknoten.

    • Connection options (Verbindungsoptionen): Geben Sie nach Bedarf weitere Schlüssel-Wert-Paare ein, um zusätzliche Verbindungsinformationen oder -optionen bereitzustellen. Sie können beispielsweise einen Datenbanknamen, einen Tabellennamen, einen Benutzernamen und ein Passwort eingeben.

      Für geben OpenSearchSie beispielsweise die folgenden Schlüssel-Wert-Paare ein, wie unter beschrieben Tutorial: Verwenden des AWS Glue-Konnektors für Elasticsearch :

      • es.net.http.auth.user : username

      • es.net.http.auth.pass : password

      • es.nodes : https://<Elasticsearch endpoint>

      • es.port : 443

      • path: <Elasticsearch resource>

      • es.nodes.wan.only : true

    Ein Beispiel für die zu verwendenden Mindestverbindungsoptionen finden Sie im Beispieltestskript MinimalSparkConnectorTest.scala auf , das die Verbindungsoptionen zeigt GitHub, die Sie normalerweise in einer Verbindung angeben würden.

    Athena
    • Table name (Tabellenname): Der Name der Tabelle in der Datenquelle. Wenn Sie einen Konnektor zum Lesen aus Athena-CloudWatch Protokollen verwenden, geben Sie den Tabellennamen einall_log_streams.

    • Athena schema name (Name des Athena-Schemas): Wählen Sie das Schema in Ihrer Athena-Datenquelle aus, das der Datenbank entspricht, die die Tabelle enthält. Wenn Sie einen Konnektor zum Lesen aus Athena-CloudWatch Protokollen verwenden, geben Sie einen Schemanamen ähnlich wie ein/aws/glue/name.

    • Schema: Da AWS Glue Studio Informationen in der Verbindung gespeicherte Informationen verwendet, um auf die Datenquelle zuzugreifen, anstatt Metadateninformationen aus einer Data-Catalog-Tabelle abzurufen, müssen Sie die Schemametadaten für die Datenquelle bereitstellen. Klicken Sie auf Add schema (Schema hinzufügen), um den Schema-Editor zu öffnen.

      Anweisungen zur Verwendung des Schema-Editors finden Sie unter Bearbeiten des Schemas in einem benutzerdefinierten Transformationsknoten.

    • Additional connection options (Zusätzliche Verbindungsoptionen): Geben Sie nach Bedarf weitere Schlüssel-Wert-Paare ein, um zusätzliche Verbindungsinformationen oder -optionen bereitzustellen.

    Ein Beispiel finden Sie in der README.md Datei unter https://github.com/aws-samples/aws-glue-samples/tree/master/GlueCustomConnectors/development/Athena . In den Schritten in diesem Dokument zeigt der Beispiel-Code die minimal erforderlichen Verbindungsoptionen tableName, schemaName und className an. Im Code-Beispiel werden diese Optionen als Teil der Variable optionsMap spezifiziert, aber Sie können sie für Ihre Verbindung angeben und dann die Verbindung verwenden.

  3. (Optional) Nachdem Sie die erforderlichen Informationen angegeben haben, können Sie mit der Registerkarte Output schema (Ausgabeschema) im Bereich mit den Knotendetails das daraus resultierende Datenschema für die Datenquelle sehen. Das auf dieser Registerkarte angezeigte Schema wird von allen untergeordneten Knoten verwendet, die Sie dem Auftragsdiagramm hinzufügen.

  4. (Optional) Nachdem Sie die Knoteneigenschaften und Datenquelleneigenschaften konfiguriert haben, sehen Sie auf der Registerkarte Data preview (Datenvorschau) im Bereich mit den Knotendetails eine Vorschau des Datensatzes aus Ihrer Datenquelle. Wenn Sie diese Registerkarte zum ersten Mal für einen Knoten in Ihrem Auftrag auswählen, werden Sie aufgefordert, eine IAM-Rolle für den Zugriff auf die Daten anzugeben. Wenn Sie dieses Feature verwenden, fallen Kosten an. Sobald Sie eine IAM-Rolle bereitstellen, wird dies berechnet.

Konfigurieren von Zieleigenschaften für Knoten, die Connectors verwenden

Wenn Sie einen Connector für den Datenzieltyp verwenden, müssen Sie die Eigenschaften des Datenzielknotens konfigurieren.

Eigenschaften für einen Datenzielknoten konfigurieren, der einen Connector verwendet
  1. Wählen Sie den Zielknoten der Connector-Daten im Auftragsdiagramm aus. Wählen Sie dann auf der rechten Seite im Bereich „Node Details“ (Knotendetails) die Registerkarte Data target properties (Datenzieleigenschaften) aus, falls sie nicht bereits ausgewählt ist.

  2. Wählen Sie auf der Registerkarte Data target properties (Datenzieleigenschaften) die Verbindung für Schreibvorgänge im Ziel aus.

    Geben Sie die zusätzlichen Informationen ein, die für jeden Verbindungstyp erforderlich sind:

    JDBC
    • Connection (Verbindung): Wählen Sie die Verbindung aus, die Sie mit Ihrem Connector verwenden möchten. Weitere Informationen zum Herstellen einer Verbindung finden Sie unter Erstellen von Verbindungen für Connectors.

    • Table name (Tabellenname): Der Name der Tabelle im Datenziel. Wenn das Datenziel den Begriff table (Tabelle) nicht verwendet, geben Sie den Namen einer geeigneten Datenstruktur an, wie durch die Nutzungsinformationen des benutzerdefinierten Connectors angegeben (verfügbar auf dem AWS Marketplace).

    • Batch size (Batchgröße) (Optional): Geben Sie die Anzahl der Zeilen oder Datensätze ein, die in einem einzigen Vorgang in die Zieltabelle eingefügt werden sollen. Der Standardwert lautet 1 000.

    Spark
    • Connection (Verbindung): Wählen Sie die Verbindung aus, die Sie mit Ihrem Connector verwenden möchten. Wenn Sie zuvor keine Verbindung erstellt haben, wählen Sie Create connection (Verbindung erstellen) aus. Weitere Informationen zum Herstellen einer Verbindung finden Sie unter Erstellen von Verbindungen für Connectors.

    • Connection options (Verbindungsoptionen): Geben Sie nach Bedarf weitere Schlüssel-Wert-Paare ein, um zusätzliche Verbindungsinformationen oder -optionen bereitzustellen. Sie können einen Datenbanknamen, einen Tabellennamen, einen Benutzernamen und ein Passwort eingeben.

      Für geben OpenSearchSie beispielsweise die folgenden Schlüssel-Wert-Paare ein, wie unter beschrieben Tutorial: Verwenden des AWS Glue-Konnektors für Elasticsearch :

      • es.net.http.auth.user : username

      • es.net.http.auth.pass : password

      • es.nodes : https://<Elasticsearch endpoint>

      • es.port : 443

      • path: <Elasticsearch resource>

      • es.nodes.wan.only : true

    Ein Beispiel für die zu verwendenden Mindestverbindungsoptionen finden Sie im Beispieltestskript MinimalSparkConnectorTest.scala auf , das die Verbindungsoptionen zeigt GitHub, die Sie normalerweise in einer Verbindung angeben würden.

  3. Nachdem Sie die erforderlichen Informationen angegeben haben, können Sie mit der Registerkarte Output schema (Ausgabeschema) im Bereich mit den Knotendetails das daraus resultierende Datenschema für die Datenquelle sehen.

Verwalten von Connectors und Verbindungen

Sie verwenden die Seite Verbindungen in AWS Glue, um Ihre Konnektoren und Verbindungen zu verwalten.

Anzeigen von Connector- und Verbindungsdetails

Eine Zusammenfassung zu Ihren Connectors und Verbindungen finden Sie in den Ressourcentabellen Your connectors (Ihre Connectors) und Your connections (Ihre Verbindungen) auf der Seite Connectors. Führen Sie die folgenden Schritte aus, um Details anzuzeigen.

Anschluss- oder Verbindungsdetails anzeigen
  1. Wählen Sie im Navigationsbereich in der AWS Glue Studio-Konsole Connectors aus.

  2. Wählen Sie den Connector oder die Verbindung aus, für den bzw. die Sie detaillierte Informationen anzeigen möchten.

  3. Klicken Sie auf Actions (Aktionen) und danach auf View details (Details anzeigen), um die Seite mit Details zu dem Connector bzw. der Verbindung zu öffnen.

  4. Auf der Detailseite können Sie für den Connector bzw. die Verbindung Edit (Bearbeiten) oder Delete (Löschen) auswählen.

    • Bei Connectors können Sie mit Create Connection (Verbindung erstellen) eine neue Verbindung erstellen, die diesen Connector verwendet.

    • Bei Verbindungen können Sie mit Create job (Auftrag erstellen) einen Auftrag erstellen, der die Verbindung verwendet.

Bearbeiten von Connectors und Verbindungen

Auf der Seite Connectors können Sie in Ihren Connectors bzw. Verbindungen gespeicherten Informationen ändern.

Connectors oder Verbindungen bearbeiten
  1. Wählen Sie im Navigationsbereich in der AWS Glue Studio-Konsole Connectors aus.

  2. Wählen Sie den Connector/die Verbindung aus, den/die Sie bearbeiten möchten.

  3. Wählen Sie Actions und anschließend Bearbeiten.

    Sie können auch auf View details (Details anzeigen) klicken und auf der Seite mit Details zum Connector bzw. zur Verbindung Edit (Bearbeiten) auswählen.

  4. Aktualisieren Sie die Informationen auf der Seite Edit connector (Connector bearbeiten) bzw. Edit connection (Verbindung bearbeiten) und klicken Sie auf Save (Speichern).

Löschen von Connectors und Verbindungen

Auf der Seite Connectors können Sie Connectors und Verbindungen löschen. Wenn Sie einen Connector löschen, sollten alle für ihn erstellten Verbindungen ebenfalls gelöscht werden.

So entfernen Sie Connectors aus AWS Glue Studio
  1. Wählen Sie im Navigationsbereich in der AWS Glue Studio-Konsole Connectors aus.

  2. Wählen Sie den Connector/die Verbindung aus, den/die Sie löschen möchten.

  3. Wählen Sie Actions (Aktionen) und anschließend Delete (Löschen) aus.

    Sie können auch auf View details (Details anzeigen) klicken und auf der Seite mit Details zum Connector bzw. zur Verbindung Delete (Löschen) auswählen.

  4. Bestätigen Sie, dass Sie den Connector oder die Verbindung entfernen möchten, indem Sie Delete eingeben und dann Delete (Löschen) auswählen.

    Wenn Sie einen Connector löschen, werden alle für ihn erstellten Verbindungen ebenfalls gelöscht.

Aufträge, die eine gelöschte Verbindung verwenden, funktionieren nicht mehr. Sie können die Aufträge entweder bearbeiten, um einen anderen Datenspeicher zu verwenden, oder die Aufträge entfernen. Informationen zum Löschen von Aufträgen finden Sie unter Löschen von Aufträgen.

Wenn Sie einen Connector löschen, wird das Abonnement für den Connector in AWS Marketplace nicht gekündigt. Um ein Abonnement für einen gelöschten Connector zu entfernen, folgen Sie den Anweisungen unterKündigen eines Abonnements eines Connectors.

Kündigen eines Abonnements eines Connectors

Nachdem Sie die Verbindungen und den Connector aus AWS Glue Studio entfernt haben, können Sie Ihr Abonnement in AWS Marketplace kündigen, wenn Sie den Connector nicht mehr benötigen.

Anmerkung

Wenn Sie Ihr Abonnement für einen Connector kündigen, wird der Connector oder die Verbindung nicht von Ihrem Konto entfernt. Alle Aufträge, die den Connector und die zugehörigen Verbindungen verwenden, können den Connector nicht mehr verwenden und schlagen fehl.

Bevor Sie einen Connector vom AWS Marketplace deabonnieren oder reabonnieren, sollten Sie bestehende Verbindungen und Connectors im Zusammenhang mit diesem AWS Marketplace-Produkt löschen.

Einen Connector auf dem AWS Marketplace deabonnieren
  1. Melden Sie sich bei der AWS Marketplace-Konsole unter https://console.aws.amazon.com/marketplace an.

  2. Wählen Sie Manage subscriptions (Abonnements verwalten).

  3. Klicken Sie auf der Seite Manage subscriptions (Abonnements verwalten) auf Manage (Verwalten) neben dem Connector, dessen Abonnement Sie kündigen möchten.

  4. Wählen Sie anschließend Actions (Aktionen) und Cancel Subscription (Abonnement kündigen) aus.

  5. Aktivieren Sie das Kontrollkästchen, um zu bestätigen, dass ausgeführte Instances auf Ihrem Konto abgerechnet werden, und wählen Sie dann Yes, cancel subscription (Ja, Abonnement kündigen) aus.

Entwickeln von benutzerdefinierten Connectors

Sie können den Code schreiben, der Daten aus dem Datenspeicher liest oder in den Datenspeicher schreibt und für die Verwendung mit AWS Glue Studio-Aufträgen formatiert. Sie können Connectors für Spark, Athena und JDBC-Datenspeicher erstellen. Der auf veröffentlichte Beispielcode GitHub bietet einen Überblick über die grundlegenden Schnittstellen, die Sie implementieren müssen.

Sie benötigen eine lokale Entwicklungsumgebung, um Ihren Connector-Code zu erstellen. Sie können eine beliebige IDE oder sogar nur einen Befehlszeileneditor verwenden, um Ihren Connector zu schreiben. Beispiele für Entwicklungsumgebungen:

Entwickeln von Spark-Connectors

Sie können einen Spark-Konnektor mit Spark DataSource API V2 (Spark 2.4) erstellen, um Daten zu lesen.

Erstellen Sie einen benutzerdefinierten Spark-Connector wie folgt

Befolgen Sie die Schritte in der AWS Glue GitHub Beispielbibliothek für die Entwicklung von Spark-Konnektoren, die sich unter https://github.com/aws-samples/aws-glue-samples/tree/master/GlueCustomConnectors/development/Spark/README.md befinden.

Entwickeln von Athena-Connectors

Sie können einen Athena-Connector erstellen, der von AWS Glue und AWS Glue Studio zur Abfrage einer benutzerdefinierten Datenquelle verwendet wird.

Erstellen Sie einen benutzerdefinierten Athena-Connector wie folgt

Befolgen Sie die Schritte in der AWS Glue GitHub Beispielbibliothek für die Entwicklung von Athena-Konnektoren, die sich unter https://github.com/aws-samples/aws-glue-samples/tree/master/GlueCustomConnectors/development/Athena befinden.

Entwickeln von JDBC-Connectors

Sie können einen Connector erstellen, der JDBC verwendet, um auf Ihre Datenspeicher zuzugreifen.

Einen benutzerdefinierten JDBC-Connector erstellen
  1. Installieren Sie die AWS Glue-Spark-Laufzeitbibliotheken in Ihrer lokalen Entwicklungsumgebung. Weitere Informationen finden Sie in den Anweisungen in der AWS Glue GitHub Beispielbibliothek unter https://github.com/aws-samples/aws-glue-samples/tree/master/GlueCustomConnectors/development/GlueSparkRuntime//README.md.

  2. Implementieren Sie den JDBC-Treiber, der für das Abrufen der Daten aus der Datenquelle verantwortlich ist. Weitere Informationen finden Sie in der Java-Dokumentation für Java SE 8.

    Erstellen Sie einen Einstiegspunkt in Ihrem Code, den AWS Glue Studio verwendet, um Ihren Connector zu finden. Das Feld Class name (Klassenname) sollte der vollständige Pfad Ihres JDBC-Treibers sein.

  3. Verwenden Sie die GlueContext-API, um Daten mit dem Connector zu lesen. Benutzer können weitere Eingabeoptionen in der AWS Glue Studio-Konsole hinzufügen, um gegebenenfalls die Verbindung zur Datenquelle zu konfigurieren. Ein Codebeispiel, das zeigt, wie mit einem benutzerdefinierten JDBC-Connector aus einer JDBC-Datenbank gelesen und in diese geschrieben wird, finden Sie unter Benutzerdefinierte und AWS MarketplaceconnectionType-Werte.

Beispiele für die Verwendung von benutzerdefinierten Connectors mit AWS Glue Studio

Beispiele für die Verwendung von benutzerdefinierten Connectors finden Sie in den folgenden Blogs:

AWS Glue-Connectors für den AWS Marketplace entwickeln

Als AWS-Partner können Sie benutzerdefinierte Connectors erstellen, auf den AWS Marketplace hochladen und an Kunden von AWS Glue verkaufen.

Der Prozess zum Entwickeln des Connector-Codes ist der gleiche wie für benutzerdefinierte Connectors, aber der Prozess zum Hochladen und Überprüfen des Connector-Codes ist umfassender. Weitere Informationen finden Sie in den Anweisungen unter Erstellen von Konnektoren für AWS Marketplace auf der - GitHub Website.

Einschränkungen für die Verwendung von Connectors und Verbindungen in AWS Glue Studio

Wenn Sie benutzerdefinierte Connectors oder Connectors von AWS Marketplace verwenden, beachten Sie die folgenden Einschränkungen:

  • Die testConnection-API wird bei Verbindungen, die für benutzerdefinierte Connectors erstellt wurden, nicht unterstützt.

  • Die Passwortverschlüsselung der Data-Catalog-Verbindung wird von benutzerdefinierten Connectors nicht unterstützt.

  • Sie können keine Auftragslesezeichen verwenden, wenn Sie ein Filterprädikat für einen Datenquellenknoten angeben, der einen JDBC-Connector verwendet.

  • Das Erstellen einer Marketplace-Verbindung wird außerhalb der AWS Glue Studio-Benutzeroberfläche nicht unterstützt.