Arbeiten mit MongoDB-Verbindungen in ETL-Aufträgen - 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.

Arbeiten mit MongoDB-Verbindungen in ETL-Aufträgen

Sie können eine Verbindung für MongoDB erstellen und diese Verbindung dann in Ihrem AWS Glue-Auftrag nutzen. Weitere Informationen finden Sie unter MongoDB-Verbindungen im AWS Glue-Programmierhandbuch. url, username und password für die Verbindung werden in der MongoDB-Verbindung gespeichert. Andere Optionen können in Ihrem ETL-Auftraggskript mit dem additionalOptions-Parameter von glueContext.getCatalogSource festgelegt werden. Weitere Optionen können Folgendes umfassen:

  • database: (Erforderlich) Die MongoDB-Datenbank, aus der gelesen werden soll.

  • collection: (Erforderlich) Die MongoDB-Sammlung, aus der gelesen werden soll.

Indem Sie die database- und collection-Informationen innerhalb des ETL-Auftragsskripts verwenden, können Sie dieselbe Verbindung für mehrere Aufträge verwenden.

  1. Erstellen einer AWS Glue Data Catalog-Verbindung für die MongoDB-Datenquelle. Unter „connectionType“: „mongodb“ finden Sie eine Beschreibung der Verbindungsparameter. Sie können die Verbindung mithilfe der Konsole, der APIs oder der CLI erstellen.

  2. Erstellen Sie eine Datenbank im AWS Glue Data Catalog, um die Tabellendefinitionen für Ihre MongoDB-Daten zu speichern. Weitere Informationen finden Sie unter Erstellen von Datenbanken.

  3. Erstellen Sie einen Crawler, der das Crawling der Daten in der MongoDB mit den Informationen in der Verbindung ausführt, um eine Verbindung mit der MongoDB herzustellen. Der Crawler erstellt die Tabellen im AWS Glue Data Catalog, der die Tabellen in der MongoDB-Datenbank beschreibt, die Sie in Ihrem Auftrag verwenden. Weitere Informationen finden Sie unter Verwenden von Crawlern zum Auffüllen des Datenkatalogs .

  4. Erstellen Sie einen Auftrag mit einem benutzerdefinierten Skript. Sie können den Auftrag mithilfe der Konsole, der APIs oder der CLI erstellen. Weitere Informationen finden Sie unter Hinzufügen von Aufträgen in AWS Glue.

  5. Wählen Sie die Datenziele Ihres Auftrags aus. Die Tabellen, die das Datenziel repräsentieren, können in Ihrem Data Catalog definiert werden, oder Ihr Auftrag kann die Zieltabellen erstellen, wenn er ausgeführt wird. Beim Verfassen des Auftrags wählen Sie einen Zielspeicherort aus. Wenn das Ziel eine Verbindung benötigt, wird auch die Verbindung in Ihrem Auftrag referenziert. Wenn Ihr Auftrag mehrere Datenziele benötigt, können Sie sie später hinzufügen, indem Sie das Skript bearbeiten.

  6. Passen Sie die Auftragsverarbeitungsumgebung an, indem Sie Argumente für Ihren Auftrag und das generierte Skript bereitstellen.

    Hier sehen Sie ein Beispiel für das Erstellen eines DynamicFrame aus der MongoDB-Datenbank basierend auf der in Data Catalog definierten Tabellenstruktur. Der Code verwendet additionalOptions zur Bereitstellung der zusätzlichen Datenquelleninformationen:

    Scala
    val resultFrame: DynamicFrame = glueContext.getCatalogSource( database = catalogDB, tableName = catalogTable, additionalOptions = JsonOptions(Map("database" -> DATABASE_NAME, "collection" -> COLLECTION_NAME)) ).getDynamicFrame()
    Python
    glue_context.create_dynamic_frame_from_catalog( database = catalogDB, table_name = catalogTable, additional_options = {"database":"database_name", "collection":"collection_name"})
  7. Führen Sie den Auftrag entweder on demand oder über einen Auslöser aus.