Trabalhar com conexões MongoDB em trabalhos de ETL - AWS União

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Trabalhar com conexões MongoDB em trabalhos de ETL

Você pode criar uma conexão para MongoDB e, em seguida, usar essa conexão em seu trabalho do AWS Glue. Para obter mais informações, consulte Conexões do MongoDB no guia de programação do AWS Glue. O url, username e password da conexão são armazenados na conexão do MongoDB. Outras opções podem ser especificadas em seu script de trabalho de ETL usando o parâmetro additionalOptions do glueContext.getCatalogSource. As outras opções podem incluir:

  • database: (obrigatório) o banco de dados MongoDB do qual fazer a leitura.

  • collection: (obrigatório) a coleção do MongoDB da qual fazer a leitura.

Ao colocar as informações de database e collection dentro do script de trabalho de ETL, você pode usar a mesma conexão em vários trabalhos.

  1. Criar uma conexão do AWS Glue Data Catalog para a fonte de dados do MongoDB. Consulte "connectionType": "mongodb" para uma descrição dos parâmetros de conexão. É possível criar a conexão ao utilizar o console, as APIs ou a CLI.

  2. Crie um banco de dados no AWS Glue Data Catalog para armazenar as definições de tabela para seus dados do MongoDB. Consulte Criar bancos de dados Para mais informações.

  3. Crie um crawler que rastreie os dados no MongoDB usando as informações na conexão para se conectar ao MongoDB. O crawler cria as tabelas no AWS Glue Data Catalog que descrevem as tabelas no banco de dados MongoDB que você usa em seu trabalho. Consulte Usar crawlers para preencher o catálogo de dados Para mais informações.

  4. Crie um trabalho com um script personalizado. É possível criar o trabalho usando o console, as APIs ou a CLI. Para obter mais informações, consulte Adição de trabalhos no AWS Glue.

  5. Escolha os destinos de dados para o seu trabalho. As tabelas que representam o destino dos dados podem ser definidas no Data Catalog, ou seu trabalho pode criar as tabelas de destino quando for executado. Você escolhe um local de destino ao criar o trabalho. Se o destino exigir uma conexão, ela também será referenciada no seu trabalho. Se o trabalho precisar de vários destinos de dados, você poderá adicioná-los posteriormente editando o script.

  6. Personalize o ambiente de processamento de trabalhos informando os argumentos para seu trabalho e o script gerado.

    A seguir, encontra-se um exemplo de como criar um DynamicFrame do banco de dados MongoDB com base na estrutura da tabela definida no Data Catalog. O código usa additionalOptions para fornecer as informações adicionais sobre a origem dos dados:

    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. Execute o trabalho, sob demanda ou por meio de um acionador.