Lavorare con le connessioni MongoDB nei processi ETL - AWS Glue

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Lavorare con le connessioni MongoDB nei processi ETL

Puoi creare una connessione per MongoDB e usare quella connessione nel tuo processo AWS Glue. Per ulteriori informazioni, consulta Connessioni MongoDB nella guida di programmazione di AWS Glue. La connessioneurl, username e password sono archiviati nella connessione MongoDB. Altre opzioni possono essere specificate nello script del processo ETL utilizzando il parametro additionalOptions di glueContext.getCatalogSource. Le altre opzioni possono includere:

  • database: (Obbligatorio) Il database MongoDB da cui leggere.

  • collection: (Obbligatorio) La raccolta MongoDB da cui leggere.

Posizionando le informazioni di database e collection all'interno dello script del processo ETL, puoi utilizzare la stessa connessione in più processi.

  1. Crea una connessione AWS Glue Data Catalog per l'origine dati MongoDB. Consulta "connectionType": "mongodb" per una descrizione dei parametri di connessione. Puoi creare la connessione utilizzando la console, l'API o la CLI.

  2. Crea un database in AWS Glue Data Catalog per memorizzare le definizioni di tabella per i dati MongoDB. Per ulteriori informazioni, consulta Creazione di database.

  3. Crea un crawler che esegue il crawling dati in MongoDB utilizzando le informazioni nella connessione per connettersi a MongoDB. Il crawler crea le tabelle in AWS Glue Data Catalog, che descrivono le tabelle nel database MongoDB che usi nel tuo processo. Per ulteriori informazioni, consulta Utilizzo dei crawler per popolare il Data Catalog .

  4. Crea un processo con uno script personalizzato. Puoi creare il processo utilizzando la console, l'API o la CLI. Per ulteriori informazioni, consulta Aggiunta di processi in AWS Glue.

  5. Scegli le destinazioni dati per il tuo processo. Le tabelle che rappresentano la destinazione dei dati possono essere definite nel catalogo dati oppure il processo può creare le tabelle di destinazione quando viene eseguito. Puoi scegliere una posizione di destinazione al momento della creazione del processo. Se la destinazione richiede una connessione, anche la connessione ha un riferimento nel tuo processo. Se il processo richiede più destinazioni dati, in seguito potrai aggiungerle modificando lo script.

  6. Personalizza l'ambiente di elaborazione del processo fornendo gli argomenti per il tuo processo e lo script generato.

    Di seguito è illustrato un esempio di creazione di un DynamicFrame dal database MongoDB in base alla struttura della tabella definita nel catalogo dati. Il codice utilizza additionalOptions per fornire le informazioni aggiuntive sull'origine dati:

    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. Esegui il processo, on demand o tramite un trigger.