O DataWorks permite criar nós Lindorm Spark para desenvolver e agendar tarefas Spark escritas em Java, Scala ou Python. Este tópico explica como enviar seu código para o LindormDFS, configurar o nó e executar um teste.
Informações básicas
O Lindorm é um serviço de computação distribuída baseado em arquitetura cloud native. Ele oferece suporte aos modelos de computação Community Edition e Apache Spark, além de integrar-se profundamente aos recursos do mecanismo de armazenamento Lindorm. O Lindorm atende a requisitos de computação em diversos cenários, como processamento massivo de dados, análises interativas, machine learning e computação em grafos.
Pré-requisitos
Antes de começar, verifique se você possui:
Uma instância do Lindorm criada e associada ao seu workspace como recurso de computação
(Apenas usuários RAM) Seu usuário RAM adicionado ao workspace e com a função Development ou Workspace Administrator atribuída — consulte Adicionar membros a um workspace
A função Workspace Administrator concede permissões amplas. Atribua-a apenas quando necessário.
Criar um nó Lindorm Spark
Para obter as etapas de criação do nó, consulte Criar um nó Lindorm Spark.
Enviar código para o LindormDFS
Antes de configurar o nó, envie o pacote JAR ou o arquivo Python para o LindormDFS para que o nó possa referenciá-lo. As etapas de envio são as mesmas para todas as linguagens.
Faça login no console do Lindorm. Na barra de navegação superior, selecione a região desejada e localize sua instância do Lindorm na página Instances.
Clique em nome da instância para abrir a página de detalhes.
No painel de navegação à esquerda, clique em Compute Engine.
Na aba Job Management, clique em Upload Resource.
-
Na caixa de diálogo de upload, clique em área pontilhada e selecione o arquivo a ser enviado:
Java or Scala: Envie um pacote JAR. Para um teste rápido, baixe o arquivo spark-examples_2.12-3.3.0.jar.
-
Python: Envie um arquivo
.py. Para um teste rápido, salve o script a seguir comopi.py:import sys from random import random from operator import add from pyspark.sql import SparkSession if __name__ == "__main__": """ Usage: pi [partitions] """ spark = SparkSession\ .builder\ .appName("PythonPi")\ .getOrCreate() partitions = int(sys.argv[1]) if len(sys.argv) > 1 else 2 n = 100000 * partitions def f(_: int) -> float: x = random() * 2 - 1 y = random() * 2 - 1 return 1 if x ** 2 + y ** 2 <= 1 else 0 count = spark.sparkContext.parallelize(range(1, n + 1), partitions).map(f).reduce(add) print("Pi is roughly %f" % (4.0 * count / n)) spark.stop()
Clique em Upload.
Após a conclusão do upload, localize o arquivo em Upload Resource na aba Job Management. Clique em ícone
à esquerda do arquivo para copiar seu caminho de armazenamento no LindormDFS. Esse caminho será necessário durante a configuração do nó.
Configurar o nó Lindorm Spark
Na aba de configuração do nó, defina os parâmetros correspondentes à linguagem utilizada.
Java or Scala
|
Parâmetro |
Descrição |
|
Main JAR Resource |
Caminho de armazenamento do LindormDFS copiado na etapa anterior. |
|
Main Class |
Nome totalmente qualificado da classe principal no JAR. Para o JAR de exemplo, use |
|
Parameters |
Parâmetros de tempo de execução passados ao programa. Use o formato |
|
Configuration Items |
Propriedades de tempo de execução do Spark. Para verificar as propriedades disponíveis, consulte Instruções de configuração de job. Para definir propriedades globais do Spark compartilhadas entre jobs, configure-as ao associar o recurso de computação do Lindorm. |
Python
|
Parâmetro |
Descrição |
|
Main Package |
Caminho de armazenamento do LindormDFS do arquivo |
|
Parameters |
Parâmetros de tempo de execução passados ao script. Use o formato |
|
Configuration Items |
Propriedades de tempo de execução do Spark. Para verificar as propriedades disponíveis, consulte Instruções de configuração de job. |
Depurar o nó Lindorm Spark
-
No painel de navegação à direita, clique em aba Run Configuration e defina os seguintes parâmetros:
Parâmetro
Descrição
Computing Resource
Selecione o recurso de computação do Lindorm associado ao seu workspace.
Lindorm Resource Group
Selecione o grupo de recursos do Lindorm especificado durante a associação do recurso de computação.
Resource Group
Selecione o grupo de recursos aprovado no teste de conectividade durante a associação do recurso de computação.
Script Parameters
Caso tenha definido variáveis no formato
${Parameter name}, insira aqui o Parameter Name e o Parameter Value. Esses valores serão substituídos em tempo de execução. Para mais informações, consulte Fontes e expressões de parâmetros de agendamento. Save e run o nó.
Próximos passos
Configuração de agendamento de nó: Clique em Properties no painel de navegação à direita e configure as propriedades de agendamento em Scheduling Policies para que o DataWorks execute o nodo conforme uma programação.
Implantação de nó: Clique em ícone
na barra de ferramentas superior para implantar o nó no ambiente de produção. Os nós só podem ser agendados periodicamente após a implantação em produção.-