O Lindorm Distributed Processing System (LDPS), fornecido pelo Lindorm, permite usar o recurso de orquestração de tarefas do Data Management (DMS) para agendar jobs do Lindorm Spark e visualizar o histórico de publicação e os logs desses jobs. O LDPS atende aos requisitos de computação em cenários como produção de dados, análises interativas, machine learning e computação em grafos. Este tópico descreve como usar o DMS para gerenciar jobs do Lindorm Spark.
Pré-requisitos
O DMS está ativado.
O LDPS está ativado para a instância do Lindorm. Para mais informações, consulte Activate the service.
Um job foi desenvolvido. Para mais informações, consulte JAR job development practices ou Python Job Development: A Practical Guide.
O job desenvolvido foi carregado no HDFS ou no Object Storage Service (OSS). Para mais informações, consulte Upload files using the console.
Crie um fluxo de tarefas do Lindorm Spark
Faça login no DMS console V5.0.
-
Acesse a página Task Orchestration.
-
Modo simples:
Na seção Scene Guide, clique em Data Transmission and Processing (DTS).
Clique em Task Orchestration na seção Data processing, no lado direito da página.
Modo normal: Na barra de navegação superior, escolha .
-
Na página Task Orchestration, clique em Create Task Flow.
Na caixa de diálogo Create Task Flow, especifique o Task Flow Name e a Description e clique em Confirm.
Na seção Task Type, à esquerda, arraste os nós Lindorm Spark para a tela e conecte-os para definir as dependências.
-
Configure o nó Lindorm Spark.
Clique duas vezes no nó Lindorm Spark ou selecione-o e clique no ícone
.-
Na página exibida, configure os parâmetros básicos e personalizados do job a ser executado.
-
Na seção Lindorm Spark, defina os parâmetros básicos. A tabela a seguir descreve esses parâmetros.
Parameter
Description
Region
Selecione a região onde a instância do Lindorm está implantada.
Lindorm Instance
Selecione o ID da instância do Lindorm.
Task Type
Escolha um tipo de job Spark. Os seguintes tipos são suportados:
-
JAR
-
Python
-
SQL
-
-
Na seção Basic Configurations, configure os parâmetros personalizados do job a ser executado. As seções abaixo detalham os modelos de configuração e os parâmetros personalizados para diferentes tipos de jobs Spark.
-
Modelo de configuração e parâmetros personalizados para um job Spark JAR:
{ "mainResource" : "oss://path/to/your/file.jar", "mainClass" : "path.to.main.class", "args" : [ "arg1", "arg2" ], "configs" : { "spark.hadoop.fs.oss.endpoint" : "", "spark.hadoop.fs.oss.accessKeyId" : "", "spark.hadoop.fs.oss.accessKeySecret" : "", "spark.hadoop.fs.oss.impl" : "org.apache.hadoop.fs.aliyun.oss.AliyunOSSFileSystem", "spark.sql.shuffle.partitions" : "20" } }Parameter
Type
Required
Description
Example
mainResource
String
Yes
Caminho onde o pacote JAR está armazenado no HDFS ou OSS.
-
Caminho HDFS do pacote JAR: hdfs:///path/spark-examples_2.12-3.1.1.jar
-
Caminho OSS do pacote JAR: oss://testBucketName/path/spark-examples_2.12-3.1.1.jar
mainClass
String
Yes
Classe usada como ponto de entrada do programa no job JAR.
com.aliyun.ldspark.SparkPi
args
Array
No
Parâmetro passado para o parâmetro mainClass.
["arg1", "arg2"]
configs
Json
No
Parâmetros de sistema do job Spark. Se o job for carregado no OSS, configure os seguintes parâmetros em configs:
-
spark.hadoop.fs.oss.endpoint: Caminho onde o job Spark está armazenado no OSS.
-
spark.hadoop.fs.oss.accessKeyId: AccessKey ID usado para acessar o OSS. Obtenha o AccessKey ID no console. Para mais informações, consulte Obtain an AccessKey pair.
-
spark.hadoop.fs.oss.accessKeySecret: AccessKey secret usado para acessar o OSS. Obtenha o AccessKey secret no console. Para mais informações, consulte Obtain an AccessKey pair.
-
spark.hadoop.fs.oss.impl: Classe usada para acessar o OSS. Defina o valor como org.apache.hadoop.fs.aliyun.oss.AliyunOSSFileSystem.
{ "spark.sql.shuffle.partitions": "200"}
-
-
Modelo de configuração e parâmetros personalizados para um job Spark Python:
{ "mainResource" : "oss://path/to/your/file.py", "args" : [ "arg1", "arg2" ], "configs" : { "spark.hadoop.fs.oss.endpoint" : "", "spark.hadoop.fs.oss.accessKeyId" : "", "spark.hadoop.fs.oss.accessKeySecret" : "", "spark.hadoop.fs.oss.impl" : "org.apache.hadoop.fs.aliyun.oss.AliyunOSSFileSystem", "spark.submit.pyFiles" : "oss://path/to/your/project_file.py,oss://path/to/your/project_module.zip", "spark.archives" : "oss://path/to/your/environment.tar.gz#environment", "spark.sql.shuffle.partitions" : "20" } }Parameter
Type
Required
Description
Example
mainResource
String
Yes
Caminho onde o arquivo Python está armazenado no OSS ou HDFS.
-
Caminho OSS do arquivo Python: oss://testBucketName/path/spark-examples.py
-
Caminho HDFS do arquivo Python: hdfs:///path/spark-examples.py
args
Array
No
Parâmetro passado para o parâmetro mainClass.
["arg1", "arg2"]
configs
Json
No
Parâmetros de sistema do job Spark. Caso precise carregar o job no OSS, configure os seguintes parâmetros em configs:
-
spark.hadoop.fs.oss.endpoint: Caminho onde o job Spark está armazenado no OSS.
-
spark.hadoop.fs.oss.accessKeyId: AccessKey ID usado para acessar o OSS. Obtenha o AccessKey ID no console. Para mais informações, consulte Obtain an AccessKey pair.
-
spark.hadoop.fs.oss.accessKeySecret: AccessKey secret usado para acessar o OSS. Obtenha o AccessKey secret no console. Para mais informações, consulte Obtain an AccessKey pair.
-
spark.hadoop.fs.oss.impl: Classe usada para acessar o OSS. Defina o valor como org.apache.hadoop.fs.aliyun.oss.AliyunOSSFileSystem.
{"spark.sql.shuffle.partitions": "200"}
-
-
Modelo de configuração e parâmetros personalizados para um job SQL:
{ "mainResource" : "oss://path/to/your/file.sql", "configs" : { "spark.hadoop.fs.oss.endpoint" : "", "spark.hadoop.fs.oss.accessKeyId" : "", "spark.hadoop.fs.oss.accessKeySecret" : "", "spark.hadoop.fs.oss.impl" : "org.apache.hadoop.fs.aliyun.oss.AliyunOSSFileSystem", "spark.sql.shuffle.partitions" : "20" } }Parameter
Type
Required
Description
Example
mainResource
String
Yes
Caminho onde o arquivo SQL está armazenado no OSS ou HDFS.
-
Caminho OSS do arquivo SQL: oss://testBucketName/path/spark-examples.sql
-
Caminho HDFS do arquivo SQL: hdfs:///path/spark-examples.sql
configs
Json
No
Outras configurações do job SQL.
{ "spark.executor.memory" : "8g"}
-
-
-
Após concluir a configuração acima, clique em Job Configuration no canto superior esquerdo para verificar se o job executa conforme o esperado.
Publique o fluxo de tarefas. Depois de configurar todos os nós, clique em Try Run no canto superior esquerdo da página do fluxo de tarefas atual.
Visualize o histórico de publicação e os logs de um fluxo de tarefas
Na página Save, clique no nome do fluxo de tarefas cujo histórico de publicação e logs você deseja visualizar.
Na página exibida, clique em Task Orchestration no canto superior direito.
-
Visualize o histórico de publicação e os logs do fluxo de tarefas.
Histórico de publicação do fluxo de tarefas: Na página Go to O&M, clique na aba Task Flow Information para ver o histórico. A lista de tarefas publicadas contém as colunas Version ID, Publisher, Publish Time, Remarks e Actions. Na coluna Actions, clique em Details ou DAG para visualizar os detalhes de publicação de uma versão específica.
-
Logs do fluxo de tarefas:
Na aba Published Tasks, selecione Running History ou Triggered at Specified Time na lista suspensa do canto superior esquerdo para ver os detalhes de todos os nós do fluxo. Expanda um registro de execução na aba Running History para consultar o status de execução, o tempo consumido e os logs de cada nó de subtarefa.
-
Clique em Triggered Manually na linha correspondente ao nó desejado. Em seguida, visualize os logs de envio do job Lindorm Spark e obtenha o job ID e o SparkUI do nó.
NotaSe o envio do job falhar, forneça o job ID e o SparkUI ao submit a ticket.
Configurações avançadas
É possível configurar um fluxo de tarefas do Lindorm Spark no console do DMS. Após a configuração, republicar o fluxo de tarefas é obrigatório.
Configure as definições de agendamento
Defina uma política de agendamento conforme suas necessidades de negócio. O fluxo de tarefas do Lindorm Spark será executado automaticamente seguindo essa política. Siga os passos abaixo para configurar o agendamento:
Na página View, clique no nome do fluxo de tarefas que deseja agendar.
No canto inferior esquerdo da página exibida, clique em Task Orchestration.
-
Na seção Task Flow Information à direita, ative a opção Scheduling Settings e defina a política de agendamento. A tabela a seguir descreve os parâmetros disponíveis.
Parameter
Description
Scheduling Type
Escolha o tipo de agendamento:
-
Cyclic Scheduling: Agenda tarefas recorrentemente, por exemplo, uma vez por semana.
-
Schedule Once: Executa a tarefa apenas uma vez em um horário específico. Basta configurar o momento exato da execução.
Effective Period
Define o período de vigência do ciclo de agendamento. O valor padrão é 1970-01-01 to 9999-01-01, indicando que o agendamento permanece sempre ativo.
Scheduling Cycle
Selecione o ciclo de agendamento:
-
Hour: Executa o agendamento com base na hora especificada. Requer configuração de agendamento cronometrado.
-
Day: Executa o agendamento diariamente. É necessário definir o horário específico para a execução diária.
-
Week: Executa o agendamento nos dias da semana selecionados. Configure os dias e o horário específicos.
-
Month: Executa o agendamento nos dias do mês selecionados. Configure os dias e o horário específicos.
Timed Scheduling
Dois métodos de agendamento cronometrado estão disponíveis:
-
Agendamento por intervalo fixo:
-
Start Time: Horário inicial da execução da tarefa.
-
Interval: Intervalo entre as execuções, em horas.
-
End Time: Horário final da execução da tarefa.
Por exemplo, se o horário inicial for 00:00, o intervalo de 6 horas e o horário final 20:59, a tarefa será executada às 00:00, 06:00, 12:00 e 18:00.
-
-
Agendamento por Specified Time: Selecione horários específicos para a execução da tarefa.
Por exemplo, ao selecionar 0 Hour e 5 Hour, a tarefa será executada às 00:00 e às 05:00.
Specified Time
-
Para ciclos semanais, selecione os dias da semana em que a tarefa deve ser executada. Múltiplas seleções são permitidas.
-
Para ciclos mensais, selecione os dias do mês em que a tarefa deve ser executada. Múltiplas seleções são permitidas.
Specific Time
Defina o horário exato para a execução do fluxo de tarefas.
Por exemplo, se definido como 02:55, a tarefa será executada às 02:55 nos dias especificados.
Cron Expression
Não requer configuração manual. O sistema gera automaticamente a expressão cron com base no ciclo e no horário definidos.
Exemplo: Para agendar seu fluxo de tarefas diariamente às 00:00 e às 12:00, configure a política da seguinte forma:
Defina Enable Scheduling como Cyclic scheduling.
Selecione Hour na lista suspensa de Scheduling Type.
No campo Scheduling Cycle, escolha Specified Time. Selecione 0Hour e 12Hour na lista suspensa de Timed Scheduling.
-
Configure variáveis
Em fluxos de tarefas com agendamento cíclico ativado, é possível definir uma variável de tempo para o job a ser executado. Por exemplo, configure a variável de tempo bizdate para o nó. Essa variável representa o dia anterior ao momento da execução da tarefa. Siga os passos abaixo para configurar a variável de tempo:
Na página do fluxo de tarefas atual, clique duas vezes no nó Specified Time ou selecione-o e clique no ícone
.No painel de navegação à direita, clique em Lindorm Spark.
Na aba Lindorm Spark ou Variable Setting, adicione uma variável.
-
Na seção Node Variable, utilize a variável. Para informações sobre outras variáveis, consulte Variables.
Use ${nome da variável} para referenciar uma variável definida nos parâmetros do job.
Gerencie notificações
Ao ativar o recurso de notificação para seu fluxo de tarefas, o sistema envia mensagens com base no resultado da execução. Siga os passos abaixo para habilitar as notificações:
No canto inferior esquerdo da página do fluxo de tarefas atual, clique em Task Flow Variable.
-
Ative uma das opções de notificação abaixo, conforme sua necessidade:
-
Notificações Básicas
Success Notification: O sistema envia uma mensagem quando o fluxo de tarefas é executado com sucesso.
Failure Notification: O sistema envia uma mensagem caso a execução do fluxo de tarefas falhe.
Timeout Notification: O sistema envia uma mensagem se o fluxo de tarefas atingir o tempo limite.
Alert Notification: O sistema envia uma mensagem pouco antes do início da tarefa.
-
(Opcional): Configure os destinatários das mensagens. Para mais detalhes sobre como configurar destinatários, consulte Notification management.
Execute instruções SQL
Faça login no DMS console V5.0.
Clique na aba Job Configuration.
No painel de navegação à esquerda, clique no ícone
para criar uma instância.-
Na caixa de diálogo Notification Configuration, selecione Home na seção Add Instance.

Especifique a Lindorm_Compute, o NoSQL Database, a Instance Region e a Instance ID da instância e clique em Database Account.
Na caixa de diálogo exibida, clique em Database password para acessar o SQLConsole.
Na aba Submit, insira a instrução SQL a ser executada e clique em Submit.
Referências
Para mais informações sobre o recurso de orquestração de tarefas do DMS, consulte Overview.