O Spark é um mecanismo de análise de big data de uso geral, reconhecido pelo alto desempenho, facilidade de uso e ampla aplicabilidade. Ele oferece suporte a análises complexas em memória e a aplicações analíticas de grande escala com baixa latência. O DataWorks disponibiliza nós CDH Spark para desenvolver e agendar periodicamente tarefas Spark. Este tópico descreve como criar e utilizar um nó CDH Spark.
Pré-requisitos
-
Crie um workflow no DataStudio.
No DataStudio, as tarefas de desenvolvimento são organizadas em workflows. Crie um workflow antes de criar um nó. Para mais informações, consulte Create a workflow.
-
Crie um cluster CDH e registre-o no seu workspace do DataWorks.
Registre o cluster CDH em um workspace do DataWorks antes de criar nós e tarefas CDH. Para mais informações, consulte Bind a CDH compute resource in the old version of DataStudio.
(Opcional) Se você usar um usuário RAM, adicione-o ao workspace e atribua a função Development ou Workspace Administrator. A função Workspace Administrator possui permissões amplas; portanto, atribua-a com cautela. Para mais detalhes sobre como adicionar membros, consulte Add members to a workspace.
Adquira e configure um grupo de recursos serverless. A configuração inclui vincular o grupo de recursos ao seu workspace e definir a rede. Para mais informações, consulte Use a serverless resource group.
Limites
Este tipo de tarefa pode ser executado em um grupo de recursos Serverless (recomendado) ou em um grupo de recursos de agendamento exclusivo legado.
Pré-requisito: Desenvolver uma tarefa Spark e obter seu pacote JAR
Antes de agendar uma tarefa CDH Spark no DataWorks, desenvolva o código da tarefa Spark no CDH e compile-o para gerar um pacote JAR. Para instruções sobre o desenvolvimento de tarefas CDH Spark, consulte Spark overview.
Faça o upload do pacote JAR da tarefa para o DataWorks e agende periodicamente a tarefa CDH Spark nessa plataforma.
Etapa 1: Criar um nó CDH Spark
-
Faça login no console do DataWorks. Na região de destino, clique em no painel de navegação à esquerda. Selecione um workspace na lista suspensa e clique em Go to Data Development.
Clique com o botão direito em um workflow e selecione .
Na caixa de diálogo Create Node, configure a instância do mecanismo, o caminho, o nome e outras definições do nó.
Clique em OK para criar o nó. Em seguida, desenvolva e configure a tarefa no nó.
Etapa 2: Criar e referenciar um recurso JAR CDH
No nó CDH Spark, referencie um recurso JAR e escreva o código do nó para enviar a tarefa com o comando Spark Submit. Siga estas etapas:
-
Crie um recurso JAR CDH.
No workflow correspondente, clique com o botão direito em e selecione . Na caixa de diálogo Create Resource, clique em Click Upload e selecione o arquivo para upload.
Configure o Storage Path (padrão:
/user/admin/lib) e insira o Name do recurso (adicione a extensão.jarao nome do arquivo para um recurso JAR). O pacote JAR enviado não pode exceder 50 MB. Se a autenticação Kerberos estiver ativada, conceda primeiro a permissão de gravação ao usuário atual no diretório de armazenamento. -
Referencie o recurso JAR CDH.
Abra o nó CDH criado e permaneça na página de edição.
-
Em , localize o recurso a ser referenciado (neste exemplo,
spark-examples_2.11_2.4.0.jar), clique com o botão direito no nome e selecione Insert Resource Path.Insert Resource Path. Se uma instrução no formato
##@resource_reference{""}aparecer no editor de código do nó CDH, o recurso foi referenciado com sucesso. Exemplo:##@resource_reference{"spark_examples_2.11_2.4.0.jar"} spark_examples_2.11_2.4.0.jar -
Modifique o código do nó CDH Spark adicionando um comando Spark Submit, conforme o exemplo a seguir.
ImportanteO código do nó CDH Spark não aceita comentários. Reescreva o código da tarefa com base no exemplo abaixo sem adicionar comentários. Caso contrário, o nó falhará durante a execução.
##@resource_reference{"spark-examples_2.11-2.4.0.jar"} spark-submit --class org.apache.spark.examples.SparkPi --master yarn spark-examples_2.11-2.4.0.jar 100Neste exemplo:
org.apache.spark.examples.SparkPi: Classe principal da tarefa no pacote JAR compilado.
spark-examples_2.11-2.4.0.jar: Nome do recurso JAR CDH enviado.
Etapa 3: Configurar o agendamento da tarefa
Para executar a tarefa em um cronograma recorrente, clique em Scheduling no painel à direita e configure as propriedades de agendamento:
Defina as propriedades básicas de agendamento. Para mais informações, consulte Configure basic properties.
-
Especifique o ciclo de agendamento, as propriedades de reexecução e as dependências. Para mais detalhes, consulte Configure time properties e Configure same-cycle scheduling dependencies.
NotaConfigure as propriedades de Rerun attribute e especifique os Parent Nodes antes de enviar o nó.
Ajuste as propriedades de recursos. Consulte Configure resource properties para mais informações. Se a tarefa precisar acessar a internet pública ou uma VPC, selecione um grupo de recursos de agendamento com a conectividade de rede necessária. Veja Network connectivity solutions para detalhes.
Etapa 4: Depurar o código
-
(Opcional) Selecione um grupo de recursos de tempo de execução e atribua valores aos parâmetros personalizados.
Na barra de ferramentas, clique no ícone
. Na caixa de diálogo Parameter, selecione o grupo de recursos para depuração.Se o código da tarefa utilizar parâmetros de agendamento, atribua os valores aqui para depuração. Para entender a lógica de atribuição de valores, consulte What is the difference in value assignment logic between Run, Advanced Run, and development-environment smoke testing?.
-
Salve e execute as instruções SQL.
Na barra de ferramentas, clique no ícone
para salvar as instruções SQL e, em seguida, clique no ícone
para executar a tarefa. -
(Opcional) Realize testes de fumaça (smoke testing).
Para executar testes de fumaça no ambiente de desenvolvimento, faça-o durante o processo de envio ou após enviar o nó. Para mais informações, consulte Perform smoke testing.
Próximas etapas
-
Envie e publique a tarefa do nó.
Clique no ícone na barra de ferramentas para salvar o nó.
Clique no ícone na barra de ferramentas para enviar a tarefa do nó.
Na caixa de diálogo Commit Node, insira a Change Description.
Clique em Determine.
Se você usar um workspace no modo padrão, publique a tarefa enviada no ambiente de produção. Clique em Task Publishing no canto superior esquerdo da barra de menu superior. Para instruções, consulte Publish tasks.
-
Visualize as tarefas agendadas periodicamente.
Clique em O&M Personnel no canto superior direito do editor para abrir o Operation Center do ambiente de produção.
Para visualizar tarefas periódicas em execução, consulte Manage periodic tasks.
Para ver mais detalhes sobre tarefas periódicas, clique em Operation Center. Para mais informações, consulte Operation Center overview.
Cenários relacionados
O DataWorks oferece recursos de agendamento e monitoramento de tarefas para garantir o envio de jobs Spark aos clusters CDH. Isso simplifica as operações de jobs e melhora o gerenciamento de recursos. A seguir, exemplos de casos de uso para tarefas Spark:
Análise de dados: Use as APIs Spark SQL, Dataset e DataFrame para agregações complexas, filtragem e transformação, obtendo insights dos dados.
Processamento de fluxo: Use o Spark Streaming para processar fluxos de dados em tempo real, permitindo análises imediatas e tomada de decisão ágil.
Machine learning: Use o Spark MLlib para pré-processamento de dados, extração de features, treinamento e avaliação de modelos.
ETL em larga escala: Extraia, transforme e carregue grandes conjuntos de dados para preparar informações para data warehouses ou outros sistemas de armazenamento.