Visão geral dos esquemas no AWS Glue - AWS Glue

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á.

Visão geral dos esquemas no AWS Glue

nota

No momento, o recurso de esquemas não está disponível no console do AWS Glue nas seguintes regiões: Ásia-Pacífico (Jacarta) e Oriente Médio (EAU).

Os esquemas do AWS Glue fornecem uma maneira de criar e compartilhar fluxos de trabalho do AWS Glue. Quando há um processo de ETL complexo que poderia ser usado para casos de uso semelhantes, em vez de criar um fluxo de trabalho do AWS Glue para cada caso de uso, você pode criar um único esquema.

O blueprint especifica os trabalhos e crawlers a serem incluídos em um fluxo de trabalho e especifica os parâmetros que o usuário do fluxo fornece ao executar o blueprint para criar um fluxo de trabalho. O uso de parâmetros permite que um único blueprint gere fluxos de trabalho para os vários casos de uso semelhantes. Para obter mais informações sobre fluxos de trabalho, consulte Visão geral de fluxos de trabalho no AWS Glue.

Veja a seguir exemplos de casos de uso de blueprints:

  • Você deseja particionar um conjunto de dados existente. Os parâmetros de entrada para o blueprint são caminhos de fonte e de destino do Amazon Simple Storage Service (Amazon S3) e uma lista de colunas de partição.

  • Você deseja fazer um snapshot de uma tabela do Amazon DynamoDB em um armazenamento de dados SQL, como o Amazon RedShift. Os parâmetros de entrada para o esquema são o nome da tabela do DynamoDB e uma conexão do AWS Glue, que designa um cluster do Amazon RedShift e um banco de dados de destino.

  • Você deseja converter dados em CSV em vários caminhos do Amazon S3 para Parquet. Você deseja que o fluxo de trabalho do AWS Glue inclua um crawler e um trabalho separados para cada caminho. Os parâmetros de entrada são o banco de dados de destino no catálogo de dados do AWS Glue e uma lista delimitada por vírgulas de caminhos do Amazon S3. Observe que nesse caso, o número de crawlers e trabalhos criados pelo fluxo de trabalho é variável.

Componentes do esquema

Um blueprint é um arquivo ZIP que contém os seguintes componentes:

  • Um script gerador de layout Python

    Contém uma função que especifica o layout do fluxo de trabalho. Os crawlers e trabalhos a serem criados para o fluxo de trabalho, as propriedades do trabalho e do crawler e as dependências entre eles. A função aceita parâmetros de esquema e retorna uma estrutura de fluxo de trabalho (objeto JSON) que o AWS Glue usa para gerar o fluxo de trabalho. Como você usa um script Python para gerar o fluxo de trabalho, pode adicionar sua própria lógica adequada a seus casos de uso.

  • Um arquivo de configuração

    Especifica o nome totalmente qualificado da função Python que gera o layout do fluxo de trabalho. Especifica também os nomes, tipos de dados e outras propriedades de todos os parâmetros do blueprint usados pelo script.

  • (Opcional) scripts de ETL e arquivos complementares

    Como um caso de uso avançado, você pode parametrizar a localização dos scripts de ETL que seus trabalhos usam. Você pode incluir arquivos de script de trabalho no arquivo ZIP e especificar um parâmetro de blueprint para um local do Amazon S3 para o qual os scripts devem ser copiados. O script gerador de layout pode copiar os scripts de ETL para o local designado e especificá-lo como a propriedade de local do script do trabalho. Você também pode incluir quaisquer bibliotecas ou outros arquivos complementares, desde que seu script os manipule.

A caixa rotulada Blueprint contém duas caixas menores: uma rotulada Python Script e outra rotulada Config File (Arquivo de configuração).
Execuções de blueprint

Quando você cria um fluxo de trabalho a partir de um esquema, o AWS Glue executa o esquema, que inicia um processo assíncrono para criar o fluxo de trabalho e os trabalhos, crawlers e acionadores que o fluxo de trabalho encapsula. O AWS Glue usa a execução do esquema para orquestrar a criação do fluxo de trabalho e seus componentes. Você visualizar o status do processo de criação exibindo o status de execução do blueprint. A execução do blueprint também armazena os valores que você forneceu para os parâmetros do blueprint.

A caixa rotulada Blueprint run (Execução do blueprint) contém ícones rotulados como Workflow (Fluxo de trabalho) e Parameter Values (Valores de parâmetro).

Você pode exibir execuções de esquemas usando o console do AWS Glue ou a AWS Command Line Interface (AWS CLI). Ao exibir ou solucionar problemas de um fluxo de trabalho, você sempre pode retornar à execução do blueprint para exibir os valores de parâmetro do blueprint usados para criar o fluxo de trabalho.

Ciclo de vida de um esquema

Os esquemas são desenvolvidos, testados e registrados com o AWS Glue e executados para criar fluxos de trabalho. Normalmente, há três pessoas envolvidas no ciclo de vida do blueprint.

Pessoa Tarefas
Desenvolvedor do AWS Glue
  • Escreve o script de layout do fluxo de trabalho e cria o arquivo de configuração.

  • Testa o esquema localmente usando bibliotecas fornecidas pelo serviço do AWS Glue.

  • Cria um arquivo ZIP do script, do arquivo de configuração e dos arquivos complementares e o publica em um local no Amazon S3.

  • Adiciona uma política de bucket ao bucket do Amazon S3 que concede permissões de leitura em objetos de bucket para a conta da AWS do administrador do AWS Glue.

  • Concede permissões de leitura do IAM no arquivo ZIP no Amazon S3 para o administrador do AWS Glue.

Administrador da AWS Glue
  • Registra o esquema com o AWS Glue. O AWS Glue faz uma cópia do arquivo ZIP em um local reservado do Amazon S3.

  • Concede permissões do IAM no blueprint aos analistas de dados.

Analista de dados
  • Executa o blueprint para criar um fluxo de trabalho e fornece valores de parâmetro do blueprint. Verifica o status de execução do blueprint para garantir que o fluxo de trabalho e seus componentes tenham sido gerados com êxito.

  • Executa e soluciona problemas do fluxo de trabalho. Antes de executar o fluxo de trabalho, pode verificar o fluxo de trabalho exibindo o gráfico de design dele, no console do AWS Glue.