Escreva scripts Python com lógica de negócio personalizada, envie-os ao EMR Serverless Spark e execute jobs PySpark. Este tópico fornece um exemplo completo de ponta a ponta.
Pré-requisitos
Possuir uma conta Alibaba Cloud. Para mais informações, consulte Registro de conta.
Verifique se você possui as funções necessárias. Para mais detalhes, consulte Autorização de funções para uma conta Alibaba Cloud.
Ter criado um workspace. Para obter instruções, consulte Criar um workspace.
Procedimento
Etapa 1: Preparar os arquivos de exemplo
O EMR Serverless Spark permite desenvolver arquivos Python em uma plataforma local ou independente e enviá-los como jobs. Os arquivos de exemplo abaixo ajudam você a começar.
Clique em DataFrame.py e employee.csv para baixe os arquivos de exemplo.
O arquivo DataFrame.py é um trecho de código que utiliza o framework Apache Spark para processar dados no OSS.
O arquivo employee.csv contém dados de funcionários, incluindo nomes, departamentos e salários.
Etapa 2: Enviar os arquivos de exemplo
-
Envie o arquivo Python para o EMR Serverless Spark.
-
Acesse a página de upload de recursos.
Faça login no console EMR.
No painel de navegação à esquerda, escolha EMR Serverless > Spark.
Na página Spark, clique em no nome do workspace desejado.
Na página do EMR Serverless Spark, clique em Artifacts no painel de navegação à esquerda.
Na página Artifacts, clique em Upload File.
-
Na caixa de diálogo Upload File, clique em na área de upload para selecione um arquivo Python ou arraste-o para essa área.
Neste exemplo, envie o arquivo DataFrame.py.
-
Envie o arquivo de dados (employee.csv) para o OSS. Para mais informações, consulte Fazer upload de arquivos.
Etapa 3: Desenvolver e executar o job
Na página do EMR Serverless Spark, clique em Development no painel de navegação à esquerda.
Na aba Development, clique em no ícone
.Na caixa de diálogo, insira um nome, selecione como tipo e clique em OK.
-
No canto superior direito, selecione uma fila.
Para saber como adicionar uma fila, consulte Gerenciar filas de recursos.
-
Na nova aba de desenvolvimento, configure os parâmetros abaixo, mantenha os demais valores padrão e clique em Run.
Parâmetro
Descrição
Main Python Resources
Selecione o arquivo Python enviado na página Artifacts na etapa anterior. Neste exemplo, selecione DataFrame.py.
Execution Parameters
Insira o caminho do OSS para o arquivo de dados employee.csv. Exemplo: oss://<yourBucketName>/employee.csv.
Após a execução do job, na seção Execution Records abaixo, clique em Log Exploration na coluna Actions do job.
-
Na aba Log Exploration, visualize as informações de log.
Esta aba inclui as subabas driver log, executor log e startup log. Cada subaba oferece três tipos de saída: Stdout, Stderr e Log4j. Neste exemplo, a saída Stdout do driver log exibe os resultados da consulta Spark DataFrame, incluindo detalhes salariais dos funcionários (employee_name, department, salary) e dados salariais agregados por departamento.
Etapa 4: Publicar o job
Um job publicado pode ser utilizado como tarefa em um nó de workflow.
Após a conclusão do job, clique em Publish no lado direito da página Development.
Na caixa de diálogo de publicação do job, insira as informações de publicação e clique em OK.
Etapa 5: Visualizar a Spark UI
Após a execução bem-sucedida do job, visualize seus detalhes de execução na Spark UI.
No painel de navegação à esquerda, clique em Job History.
Na página Application, clique em Spark UI na coluna Actions do job desejado.
-
Na página Spark Jobs, visualize os detalhes do job.
A página exibe informações básicas da aplicação (como User: root, Total Uptime e Scheduling Mode: FIFO) e a lista Completed Jobs. A tabela inclui colunas como Job Id, Description, Submitted, Duration, Stages: Succeeded/Total e Tasks. Para cada job, visualize sua descrição, duração e detalhes de conclusão de estágios e tarefas.
Tópicos relacionados
Após a publicação, agende o job em um workflow. Para mais informações, consulte Gerenciar workflows. Para um exemplo completo do processo de desenvolvimento de orquestração de jobs, consulte Guia de início rápido para desenvolvimento com Spark SQL.
Para um exemplo de desenvolvimento de job de streaming PySpark, consulte Enviar um job de streaming PySpark usando o Serverless Spark.