Erstellen von benutzerdefinierten Connectors - 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.

Erstellen von benutzerdefinierten Connectors

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

Benutzerdefinierte Konnektoren werden AWS Glue Studio über die AWS Glue Spark-Laufzeit integriertAPI. Die AWS Glue Spark-Laufzeit ermöglicht es Ihnen, jeden Anschluss anzuschließen, der mit Spark, Athena oder JDBC Interface kompatibel ist. So können Sie jede Verbindungsoption übergeben, die mit dem benutzerdefinierten Connector verfügbar ist.

Sie können alle Ihre Verbindungseigenschaften mit AWS GlueConnections kapseln und den Verbindungsnamen für Ihren Job angeben. ETL 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 Anmeldeinformationen verwenden — Die Datenkatalogverbindung kann auch eine secretId für ein geheimes Geheimnis enthalten, das in gespeichert ist. AWS Secrets Manager In dem AWS Secret können Authentifizierungs- und Anmeldeinformationen sicher gespeichert und zur AWS Glue Laufzeit bereitgestellt werden. 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")
    • Filtern der Quelldaten mit Zeilenprädikaten und Spaltenprojektionen — Die AWS Glue Spark-Laufzeit ermöglicht es Benutzern auch, SQL Abfragen nach unten zu verschieben, um Daten an der Quelle mit Zeilenprädikaten und Spaltenprojektionen zu filtern. Auf diese Weise kann Ihr ETL Job gefilterte Daten schneller aus Datenspeichern laden, die Push-Downs unterstützen. Eine SQL Beispielabfrage, die an eine JDBC Datenquelle weitergeleitet wird, ist: 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")
    • Job-Lesezeichen — AWS Glue unterstü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 Jobausführungen. 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. Package Sie den benutzerdefinierten Connector als JAR Datei und laden Sie die Datei auf Amazon S3 hoch.

  4. Testen Sie Ihren benutzerdefinierten Connector. Weitere Informationen finden Sie in den Anweisungen 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:

    • Der Pfad zum Speicherort der benutzerdefinierten JAR Codedatei in Amazon S3.

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

    • Ihr Steckertyp, der einer von JDBC, Spark oder Athena sein kann.

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

      • Bei JDBC Konnektoren sollte dieses Feld der Klassenname Ihres JDBC Treibers 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.

    • (JDBCnur) Die Basis, die von der JDBC Verbindung für den Datenspeicher URL 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.

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 abonnieren, der unter angeboten wird AWS Marketplace, oder Sie können Ihren eigenen benutzerdefinierten Connector erstellen.

Konnektoren abonnieren AWS Marketplace

AWS Glue Studiomacht es einfach, Konnektoren von AWS Marketplace hinzuzufügen.

Um einen Konnektor von AWS Marketplace bis hinzuzufügen AWS Glue Studio
  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. Wählen Sie unter Ausgewählte Produkte den Connector aus, den Sie verwenden möchten. AWS Marketplace 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.