Gerenciar trabalhos de ETL com o AWS Glue Studio - AWS Glue

Gerenciar trabalhos de ETL com o AWS Glue Studio

Você pode usar a interface gráfica simples no AWS Glue Studio para gerenciar seus trabalhos de ETL. Usando o menu de navegação, escolhar Jobs (Trabalhos) para visualizar a página Jobs (Trabalhos). Nessa página, você pode ver todos os trabalhos que criou com o AWS Glue Studio ou com o console do AWS Glue. Você pode exibir, gerenciar e executar seus trabalhos nessa página.

Iniciar uma execução de trabalho

No AWS Glue Studio, você pode executar seus trabalhos sob demanda. Um trabalho pode ser executado várias vezes, e cada vez que você o executa, o AWS Glue coleta informações sobre as atividades e a performance do trabalho. Essa informação é referida como uma execução de trabalho e é identificada por um ID de execução de trabalho.

Você pode iniciar uma execução de trabalho no AWS Glue Studio das seguintes formas:

  • Na página Jobs (Trabalhos), escolha o trabalho que você deseja iniciar e, em seguida, escolha o botão Run job (Executar trabalho).

  • Se você estiver visualizando um trabalho no editor visual e ele estiver salvo, você pode escolher o botão Run (Executar) para iniciar uma execução de trabalho.

Para obter mais informações sobre execuções de trabalhos, consulte Trabalhar com trabalhos no console do AWS Glue no Guia do desenvolvedor do AWS Glue.

Programar execuções de trabalho

No AWS Glue Studio, você pode criar uma programação para que seus trabalhos sejam executados em horários específicos. Você pode especificar restrições, como a quantidade de vezes que os trabalhos são executados. Essas restrições são feitas com base no cron e têm as mesmas limitações que o cron. Por exemplo, se você optar por executar seu trabalho no dia 31 de cada mês, lembre-se de que alguns meses não têm 31 dias. Para obter mais informações sobre o cron, consulte Expressões do Cron no Guia do desenvolvedor do AWS Glue.

Para executar trabalhos de acordo com uma programação
  1. Crie uma programação de trabalho usando um dos seguintes métodos:

    • Na página Jobs (Trabalhos), escolha o trabalho para o qual você deseja criar uma programação, escolha Actions (Ações) e depois Schedule job (Programar trabalho).

    • Se você estiver visualizando um trabalho no editor visual e ele estiver salvo, escolha a guia Schedules (Programações). Em seguida, escolha Create Schedule (Criar programação).

  2. Na página Schedule job run (Programar execução de trabalho), insira as seguintes informações:

    • Name (Nome): insira um nome para a programação do trabalho.

    • Frequency (Frequência): insira a frequência da programação do trabalho. Você pode escolher uma das seguintes opções:

      • Hourly (Por hora): o trabalho será executado a cada hora, começando em um minuto específico. Você pode especificar o Minute (Minuto) da hora em que o trabalho deve ser executado. Por padrão, quando você escolhe por hora, o trabalho é executado no início da hora (minuto 0).

      • Daily (Diariamente): o trabalho será executado todos os dias, iniciando em um determinado momento. Você pode especificar o Minute (Minuto) da hora em que o trabalho deve ser executado e a Start hour (Hora de início) do trabalho. As horas são especificadas usando um relógio de 23 horas, em que você usa os números 13 a 23 para as horas após meio-dia. O valor padrão para minuto e hora é zero, o que significa que se você selecionar Daily (Diariamente), por padrão, o trabalho será executado à meia-noite.

      • Weekly (Semanal): o trabalho será executado todas as semanas em um ou mais dias. Além das mesmas configurações descritas anteriormente para Daily (Diariamente), você pode escolher os dias da semana em que o trabalho será executado. Você pode escolher um ou mais dias.

      • Monthly (Mensalmente): o trabalho será executado todos os meses em um dia específico. Além das mesmas configurações descritas anteriormente para Daily (Diariamente), você pode escolher o dia do mês em que o trabalho será executado. Especifique o dia como um valor numérico de 1 a 31. Se você selecionar um dia que não existe em um mês, por exemplo, o 30º dia de fevereiro, então o trabalho não será executado nesse mês.

      • Custom (Personalizado): insira uma expressão para sua programação de trabalho usando a sintaxe do cron. As expressões do Cron permitem que você crie programações mais complicadas, como o último dia do mês (em vez de um dia específico do mês) ou a cada terceiro mês no 7º e 21º dias do mês.

        Consulte Expressões do Cron no Guia do desenvolvedor do AWS Glue

    • Description (Descrição): como opção, você pode inserir uma descrição para a programação do trabalho. Se você planeja usar a mesma programação para vários trabalhos, uma descrição facilita determinar o que a programação do trabalho faz.

  3. Escolha Create schedule (Criar programação) para salvar a programação de trabalho.

  4. Depois de criar a programação, uma mensagem de êxito é exibida na parte superior da página do console. Você pode escolher Job details (Detalhes do trabalho) nesse banner, para exibir os detalhes do trabalho. Isso abre a página do editor de trabalhos visual, com a guia Schedules (Programações) selecionada.

Gerenciar programações de trabalho

Depois de criar programações para um trabalho, você pode abri-lo no editor visual e escolher a guia Schedules (Programações) para gerenciar as programações.

Na guia Schedules (Programações) do editor visual, você pode executar as seguintes tarefas:

  • Criar uma nova programação.

    Escolha Create schedule (Criar programação) e insira as informações da programação, conforme descrito em Programar execuções de trabalho.

  • Editar uma programação existente.

    Escolha a programação que você deseja editar e selecione Action (Ação) e, em seguida, Edit schedule (Editar programação). Quando você opta por editar uma programação existente, Frequency (Frequência) exibe Custom (Personalizada) e a programação é exibida como uma expressão do cron. Você também pode modificar a expressão do cron ou especificar uma nova programação usando o botão Frequency (Frequência). Ao concluir as alterações, escolha Update schedule (Atualizar programação).

  • Pausar uma programação ativa.

    Escolha uma programação ativa, selecione Action (Ação) e, em seguida, Pause schedule (Pausar programação). A programação é desativada instantaneamente. Escolha o botão refresh (reload) [atualizar (recarregar)] para ver o status da programação de trabalho atualizada.

  • Retomar uma programação pausada.

    Escolha uma programação desativada, selecione Action (Ação) e, em seguida, resume schedule (Retomar programação). A programação é ativada instantaneamente. Escolha o botão refresh (reload) [atualizar (recarregar)] para ver o status da programação de trabalho atualizada.

  • Excluir uma programação.

    Escolha a programação que você deseja remover, selecione Action (Ação) e, em seguida, Delete schedule (Excluir programação). A programação é excluída instantaneamente. Escolha o botão refresh (reload) [atualizar (recarregar)] para ver a lista de programações de trabalho atualizada. A programação terá o status Deleting (Excluíndo) até que tenha sido completamente removida.

Interromper execuções de trabalho

Você pode interromper um trabalho antes que ele tenha concluído sua execução. Você pode escolher essa opção se souber que o trabalho não está configurado corretamente ou se ele está demorando muito para ser concluído.

Na página Monitoring (Monitoramento), na lista Job runs (Execuções de trabalho), selecione o trabalho que deseja interromper, escolha Actions (Ações) e Stop run (Interromper execução).

Visualizar os trabalhos

Você pode visualizar todos os trabalhos na página Jobs (Trabalhos). Você pode acessar essa página escolhendo Jobs (Trabalhos) no painel de navegação.

Na página Jobs (Trabalhos), você poderá ver todos os trabalhos criados na sua conta. A list Your jobs (Seus trabalhos) mostra o nome do trabalho, o tipo, o status da última execução desse trabalho e as datas em que ele foi criado e modificado pela última vez. Você pode escolher o nome de um trabalho para ver informações detalhadas sobre ele.

Você também pode usar o painel Monitoring (Monitoramento) para exibir todos os trabalhos. Você pode acessar o painel escolhendo Monitoring (Monitoramento) no painel de navegação.

Personalizar a exibição do trabalho

Você pode personalizar como os trabalhos são exibidos na seção Your jobs (Seus trabalhos) da página Jobs (Trabalhos). Além disso, você pode inserir um texto no campo de pesquisa de texto para exibir somente trabalhos com um nome que contenha esse texto.

Se você escolher o ícone de configurações A gear symbol na seção Your jobs (Seus trabalhos), poderá personalizar como AWS Glue Studio exibe as informações na tabela. Você pode optar por quebrar as linhas de texto na exibição, alterar o número de trabalhos exibidos na página e especificar quais colunas serão exibidas.

Exibir informações para execuções de trabalho recentes

Um trabalho pode ser executado várias vezes à medida que novos dados são adicionados no local de origem. Cada vez que um trabalho é executado, um ID exclusivo é atribuído à execução do trabalho e as informações sobre essa execução são coletadas. É possível exibir essas informações usando os métodos a seguir:

  • Escolha a guia Runs (Execuções) do editor visual para exibir as informações de execução do trabalho exibido no momento.

    Na guia Runs (Execuções), página Recent job runs (Execuções de trabalho recentes), há um cartão para cada execução de trabalho. As informações exibidas na guia Runs (Execuções) incluem:

    • ID de execução de trabalho

    • Número de tentativas para execução desse trabalho

    • Status da execução do trabalho

    • Horário de início e de término da execução do trabalho

    • O runtime do trabalho

    • Um link para os arquivos de log do trabalho

    • Um link para os arquivos de log de erros do trabalho

    • O erro retornado para trabalhos com falha

  • É possível selecionar uma execução de trabalho para ver informações adicionais sobre o trabalho, incluindo:

Você pode selecionar Visualizar detalhes para ver informações semelhantes na página de detalhes da execução do trabalho. Como alternativa, você pode navegar até a página de detalhes da execução do trabalho por meio da página Monitoramento. No painel de navegação, escolha Monitoring (Monitoramento). Role para baixo até a lista Job runs (Execuções do trabalho). Escolha o trabalho e, em seguida, escolha View run details (Visualizar os detalhes da execução). O conteúdo está descrito em Visualizar os detalhes de uma execução de trabalho.

Para obter mais informações sobre os logs de trabalhos, consulte Visualizar os logs de execuções de trabalho.

Visualizar o script de trabalho

Depois de fornecer informações para todos os nós no trabalho, o AWS Glue Studio gera um script que é usado pelo trabalho para ler os dados da origem, transformá-los e gravá-los no local de destino. Se você salvar o trabalho, poderá exibir esse script a qualquer momento.

Para exibir o script gerado para seu trabalho
  1. No painel de navegação, escolha Jobs (Trabalhos).

  2. Na página Jobs (Trabalhos), na lista Your jobs (Seus trabalhos), escolha o nome do trabalho que você deseja revisar. Como alternativa, você pode selecionar um trabalho na lista, escolher o menu Actions (Ações) e, em seguida, escolher Edit job (Editar trabalho).

  3. Na página do editor visual, escolha a guia Script na parte superior para exibir o script de trabalho.

    Se quiser editar o script de trabalho, consulte Guia de programação do AWS Glue.

Modificar as propriedades do trabalho

Os nós no diagrama de trabalho definem as ações executadas pelo trabalho, mas há várias propriedades que você também pode configurar para o trabalho. Essas propriedades determinam o ambiente em que o trabalho é executado, os recursos que ele usa, as configurações de limite, as configurações de segurança e muito mais.

Para personalizar o ambiente de execução do trabalho
  1. No painel de navegação, escolha Jobs (Trabalhos).

  2. Na página Jobs (Trabalhos), na lista Your jobs (Seus trabalhos), escolha o nome do trabalho que você deseja revisar.

  3. Na página do editor visual, escolha a guia Job details Detalhes do trabalho) na parte superior do painel de edição do trabalho.

  4. Modifique as propriedades do trabalho, conforme necessário.

    Para obter mais informações sobre as propriedades do trabalho, consulte Definir propriedades do trabalho no Guia do desenvolvedor do AWS Glue.

  5. Expanda a seção Advanced properties (Propriedades avançadas), se você precisar especificar essas propriedades de trabalho adicionais:

    • Script filename (Nome de arquivo do script): o nome do arquivo que armazena o script do trabalho no Amazon S3.

    • Script path (Caminho do script): o local do Amazon S3 em que o script do trabalho é armazenado.

    • Job metrics (Métricas de trabalho): (indisponível para trabalhos de shell do Python) ativa a criação de métricas do Amazon CloudWatch quando esse trabalho é executado.

    • Continuos logging (Registro em log contínuo): (indisponível para trabalhos de shell do Python) ativa o registro em log contínuo no CloudWatch, para que os logs estejam disponíveis para visualização antes que o trabalho seja concluído.

    • Spark UI (IU do Spark) e Spark UI logs path (Caminho de logs da IU do Spark): (indisponível para trabalhos de shell do Python) ativa o uso da interface do usuário do Spark para monitorar o trabalho e especifica o local para os logs da interface do usuário do Spark.

    • Maximum concurrency (Simultaneidade máxima): define o número máximo de execuções simultâneas permitidas para o trabalho.

    • Temporary path (Caminho temporário): o local de um diretório de trabalho no Amazon S3 onde os resultados intermediários temporários serão gravados quando o AWS Glue executar o script.

    • Delay notification threshold (minutes) (Limite de notificação de atraso [minutos]): especifica um limite de atraso para o trabalho. Se o trabalho for executado por mais tempo do que o especificado pelo limite, o AWS Glue envia uma notificação de atraso para o trabalho ao CloudWatch.

    • Security configuration (Configuração de segurança) e Server-side encryption (Criptografia do lado do servidor): use esses campos para escolher as opções de criptografia do trabalho.

    • Use Glue Data Catalog as the Hive metastore (Usar o Glue Data Catalog como metastore do Hive): escolha essa opção se quiser usar o AWS Glue Data Catalog como uma alternativa ao Apache Hive Metastore.

    • Additional network connection(Conexão de rede adicional): para uma origem dos dados em uma VPC, você pode especificar uma conexão do tipo Network a fim de garantir que seu trabalho acesse seus dados por meio da VPC.

    • Python library path (Caminho da biblioteca do Python), Dependent jars path (Caminho de arquivos jar dependentes, não disponível para trabalhos de shell do Python) ou Referenced files path (Caminho de arquivos referenciados): use esses campos para especificar o local dos arquivos adicionais usados pelo trabalho quando ele executa o script.

    • Job Parameters (Parâmetros do trabalho): você pode adicionar um conjunto de pares de chave-valor que são transmitidos ​​como parâmetros nomeados para o script. Nas chamadas do Python para AWS Glue APIs, é melhor transmitir os parâmetros explicitamente por nome. Para obter mais informações sobre como usar parâmetros em um script de trabalho, consulte Transmitir e acessar parâmetros do Python no AWS Glue no Guia do desenvolvedor do AWS Glue.

    • Tags: você pode adicionar tags ao trabalho para ajudar a organizá-las e identificá-las.

  6. Depois de modificar as propriedades do trabalho, salve-o.

Armazenar arquivos de ordem aleatória do Spark no Amazon S3

Alguns trabalhos de ETL exigem leitura e combinação de informações de várias partições, por exemplo, ao usar uma transformação de união. Essa operação é referida como shuffling (ordenamento aleatório). Durante uma geração de ordem aleatória, os dados são gravados no disco e transferidos pela rede. Com o AWS Glue versão 3.0, você pode configurar o Amazon S3 como um local de armazenamento para esses arquivos. O AWS Glue fornece um gerenciador de ordenamento aleatório que grava e lê arquivos aleatórios de e para o Amazon S3. Gravar e ler arquivos de ordem aleatória do Amazon S3 é mais lento (de 5% a 20%) em comparação com o disco local (ou o Amazon EBS, que é altamente otimizado para o Amazon EC2). No entanto, o Amazon S3 fornece capacidade de armazenamento ilimitada, assim você não precisa se preocupar com erros de “No space left on device” ao executar seu trabalho.

Para configurar seu trabalho a fim de usar o Amazon S3 para arquivos de ordem aleatória
  1. Na página Jobs (Trabalhos), na lista Your jobs (Seus trabalhos), escolha o nome do trabalho que você deseja modificar.

  2. Na página do editor visual, escolha a guia Job details Detalhes do trabalho) na parte superior do painel de edição do trabalho.

    Role para baixo até a seção Job parameters (Parâmetros do trabalho).

  3. Especifique os seguintes pares de chave-valor.

    • --write-shuffle-files-to-s3true

      Esse é o parâmetro principal que configura o gerenciador de ordenamento aleatório no AWS Glue a fim de usar buckets do Amazon S3 para gravar e ler dados de ordem aleatória. Pr padrão, esse parâmetro tem um valor false.

    • (Opcional) --write-shuffle-spills-to-s3: true

      Esse parâmetro permite que você descarregue arquivos de despejo em buckets do Amazon S3, o que fornece resiliência adicional ao seu trabalho do Spark no AWS Glue. Isso só é necessário para grandes workloads que despejam muitos dados no disco. Pr padrão, esse parâmetro tem um valor false.

    • (Opcional) --conf spark.shuffle.glue.s3ShuffleBucket: S3://<shuffle-bucket>

      Esse parâmetro especifica o bucket do Amazon S3 que deve ser usado ao gravar os arquivos de ordem aleatória. Se você não definir esse parâmetro, o local será a pasta shuffle-data no local especificado como caminho temporário (--TempDir).

      nota

      Certifique-se de que o local do bucket de ordem aleatória está na mesma região da Região da AWS na qual o trabalho é executado.

      Além disso, o serviço de ordenamento aleatório não limpa os arquivos após a conclusão da execução do trabalho, portanto, você deve configurar as políticas de ciclo de vida de armazenamento do Amazon S3 no local do bucket de ordem aleatória. Para obter mais informações, consulte Gerenciar ciclo de vida de armazenamento no Manual do usuário do Amazon S3.

Salvar o trabalho

Um aviso em vermelho informando Job has not being saved (O trabalho não foi salvo) é exibido à esquerda do botão Save (Salvar) até que você salve o trabalho.

Uma forma oval vermelha com o rótulo “Job has not been saved” (O trabalho não foi salvo) à esquerda do botão Save (Salvar).
Para salvar seu trabalho
  1. Forneça todas as informações necessárias nas guias Visual e Job details (Detalhes do trabalho).

  2. Clique no botão Salvar.

    Depois de salvar o trabalho, o aviso “not saved” (não salvo) muda para exibir a hora e a data em que o trabalho foi salvo pela última vez.

Se você sair do AWS Glue Studio antes de salvar seu trabalho, na próxima vez que você entrar no AWS Glue Studio, uma notificação será exibida. A notificação indica que há um trabalho não salvo e pergunta se você deseja restaurá-lo. Se optar por restaurar o trabalho, poderá continuar a editá-lo.

Solucionar problemas com erros ao salvar um trabalho

Se escolher o botão Save (Salvar), mas houver algumas informações necessárias faltando no trabalho, um aviso em vermelho aparecerá na guia onde as informações estão faltando. O número no aviso indica quantos campos faltantes foram detectados.

Uma captura de tela mostrando as guias do painel do editor visual de um trabalho chamado “Untitled job” (Trabalho sem título) com um aviso rotulado 2 na guia Visual e um aviso rotulado 1 na guia Job details (Detalhes do trabalho).
  • Se um nó no editor visual não estiver configurado corretamente, a guia Visual exibirá um aviso em vermelho e o nó com o erro exibirá um símbolo de aviso A red triangle with an exclamation point in the center .

    1. Escolher o nó. No painel de detalhes do nó, um aviso em vermelho aparece na guia onde as informações ausentes ou incorretas estão localizadas.

    2. Escolha a guia no painel de detalhes do nó que mostra um aviso em vermelho e localize os campos problemáticos, que estarão destacados. Uma mensagem de erro abaixo dos campos fornece informações adicionais sobre o problema.

      Uma captura de tela mostrando a guia Visual no editor de trabalhos, que está marcada com um aviso rotulado 2. O nó da origem dos dados, que é marcado com um rótulo de aviso, é selecionado. No painel de detalhes do nó, a guia Data source properties (Propriedades da origem dos dados) tem um aviso rotulado 2 e está selecionada. Dois campos, Data base (Banco de dados) e Table (Tabela) são delineados em vermelho e apresentam mensagens abaixo deles, indicando que é obrigatório haver um valor nesses campos.
  • Se houver um problema com as propriedades do trabalho, a guia Job details (Detalhes do trabalho) mostrará um aviso em vermelho. Escolha essa guia e localize os campos problemáticos, que estarão destacados. As mensagens de erro abaixo dos campos fornecem informações adicionais sobre o problema.

    Uma captura de tela mostrando a guia Job details (Detalhes do trabalho) no editor de trabalhos, que está marcada com um aviso rotulado 1. O campo “IAM Role” (Função do IAM) está delineado em vermelho e apresenta uma mensagem abaixo dele, indicando que é obrigatório haver um valor nele.

Clonar um trabalho

Você pode usar a ação Clone job (Clonar trabalho) para copiar um trabalho existente em um novo trabalho.

Para criar um trabalho por cópia de um trabalho existente
  1. Na página Jobs (Trabalhos), na lista Your jobs (Seus trabalhos), escolha o nome do trabalho que você deseja duplicar.

  2. No menu Actions (Ações), escolha Clone job (Clonar trabalho).

  3. Insira um nome para o novo trabalho. Em seguida, você poderá salvar ou editar o trabalho.

Excluir trabalhos

É possível remover trabalhos que não sejam mais necessários. É possível excluir um ou mais trabalhos em uma única operação.

Para remover trabalhos do AWS Glue Studio
  1. Na página Jobs (Trabalhos), na lista Your jobs (Seus trabalhos), escolha o nome do trabalho que você deseja excluir.

  2. No menu Actions (Ações), escolha Delete job (Excluir trabalho).

  3. Confirme que você deseja excluir o trabalho digitando delete.

Você também pode excluir um trabalho salvo ao visualizar a guia Job details (Detalhes do trabalho) desse trabalho no editor visual.