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.
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.
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 |
|
Administrador da AWS Glue |
|
Analista de dados |
|