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 quindi utilizzare quella connessione nel tuo AWS Glue lavoro. Per ulteriori informazioni, Connessioni MongoDB consulta la guida alla AWS Glue programmazione. 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 AWS Glue Data Catalog connessione per l'origine dati MongoDB. Consulta "connectionType": "mongodb" per una descrizione dei parametri di connessione. È possibile creare la connessione utilizzando la console APIs o la CLI.

  2. Crea un database in AWS Glue Data Catalog per memorizzare le definizioni delle tabelle per i tuoi 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 AWS Glue Data Catalog che descrivono le tabelle del database MongoDB che usi nel tuo job. Per ulteriori informazioni, consulta Utilizzo dei crawler per popolare il Data Catalog .

  4. Crea un processo con uno script personalizzato. È possibile creare il lavoro utilizzando la console APIs o la CLI. Per ulteriori informazioni, consulta Aggiungere lavori 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.