Utilisez la fonctionnalité Lindorm de Data Management (DMS) pour planifier des tâches Lindorm Spark qui s'exécutent sur le système de traitement distribué Lindorm (LDPS). Vous pouvez également consulter l'historique de publication des tâches et les journaux pour des cas d'utilisation tels que la production de données, l'analyse interactive, l'apprentissage automatique et le calcul de graphes.
Prérequis
Vous avez activé Data Management (DMS).
Le système de traitement distribué Lindorm (LDPS) est activé. Pour plus d'informations, consultez la rubrique Activation du service.
Vous avez développé une tâche. Pour plus d'informations, consultez les rubriques Bonnes pratiques de développement de tâches JAR ou Bonnes pratiques de développement de tâches Python.
Vous avez téléchargé le fichier de tâche vers HDFS ou OSS. Pour savoir comment télécharger un fichier vers HDFS, consultez la rubrique Télécharger des fichiers à l'aide de la console.
Créer un flux de tâches Lindorm Spark
Connectez-vous à la console DMS V5.0.
-
Accédez à la page Task Orchestration.
-
Mode simple :
Dans la section Scene Guide, cliquez sur Data Transmission and Processing (DTS).
Dans la section Data Processing située à droite, cliquez sur la carte Task Orchestration.
Mode normal : Dans la barre de navigation supérieure, choisissez .
-
Sur la page Task Orchestration, cliquez sur Create Task Flow.
Dans la boîte de dialogue Create Task Flow, saisissez un Task Flow Name et une Description, puis cliquez sur Confirm.
Depuis la liste Task Type située à gauche, faites glisser un nœud de tâche Lindorm Spark vers le canevas. Reliez les nœuds pour définir les dépendances entre eux.
-
Configurez le nœud de tâche Lindorm Spark.
Double-cliquez sur le nœud de tâche Lindorm Spark, ou cliquez sur le nœud de tâche Lindorm Spark et sélectionnez
.-
Sur la page de configuration du nœud, définissez les paramètres de base et les paramètres personnalisés pour la tâche.
-
Dans la section Basic Configurations, configurez les paramètres de base suivants.
Parameter
Description
Region
Sélectionnez la région où se trouve l'instance Lindorm cible.
Lindorm Instance
Sélectionnez l'ID de l'instance Lindorm cible.
Task Type
Sélectionnez un type de tâche Spark. Les types suivants sont pris en charge :
-
JAR
-
Python
-
-
Dans la section Job Configuration, configurez les paramètres personnalisés pour la tâche. Les modèles de configuration et les descriptions de paramètres suivants s'appliquent aux différents types de tâches Spark.
-
Modèle de configuration de tâche JAR et descriptions des paramètres :
{ "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
Chemin HDFS ou OSS du package JAR.
-
Package JAR stocké dans HDFS : hdfs:///path/spark-examples_2.12-3.1.1.jar
-
Package JAR stocké dans OSS : oss://testBucketName/path/spark-examples_2.12-3.1.1.jar
mainClass
String
Yes
Classe de point d'entrée pour la tâche JAR.
com.aliyun.ldspark.SparkPi
args
Array
No
Arguments pour la classe principale.
["arg1", "arg2"]
configs
Json
No
Paramètres système Spark. Si votre tâche est stockée dans OSS, vous devez ajouter les configurations suivantes :
-
spark.hadoop.fs.oss.endpoint : Endpoint OSS où la tâche est stockée.
-
spark.hadoop.fs.oss.accessKeyId : AccessKey ID que vous avez créé dans la console Alibaba Cloud. Pour plus d'informations, consultez Créer un AccessKey.
-
spark.hadoop.fs.oss.accessKeySecret : Secret AccessKey que vous avez obtenu depuis la console Alibaba Cloud. Pour plus d'informations, consultez Créer un AccessKey.
-
spark.hadoop.fs.oss.impl : Classe utilisée pour l'accès OSS. La valeur doit être org.apache.hadoop.fs.aliyun.oss.AliyunOSSFileSystem.
{ "spark.sql.shuffle.partitions": "200"}
-
-
Modèle de configuration de tâche Python et descriptions des paramètres :
{ "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
Chemin OSS ou HDFS où le fichier Python est stocké.
-
Fichier Python stocké dans OSS : oss://testBucketName/path/spark-examples.py
-
Fichier Python stocké dans HDFS : hdfs:///path/spark-examples.py
args
Array
No
Arguments transmis au programme principal.
["arg1", "arg2"]
configs
Json
No
Paramètres système Spark. Si vous avez téléchargé la tâche vers OSS, vous devez configurer les paramètres suivants :
-
spark.hadoop.fs.oss.endpoint : Endpoint OSS où la tâche est stockée.
-
spark.hadoop.fs.oss.accessKeyId : AccessKey ID que vous avez créé dans la console Alibaba Cloud. Pour plus d'informations, consultez Créer un AccessKey.
-
spark.hadoop.fs.oss.accessKeySecret : Secret AccessKey que vous avez obtenu depuis la console Alibaba Cloud. Pour plus d'informations, consultez Créer un AccessKey.
-
spark.hadoop.fs.oss.impl : Classe utilisée pour l'accès OSS. La valeur doit être org.apache.hadoop.fs.aliyun.oss.AliyunOSSFileSystem.
{"spark.sql.shuffle.partitions": "200"}
-
-
-
Une fois la configuration terminée, cliquez sur Try Run dans le coin supérieur gauche pour vérifier si la tâche s'exécute comme prévu.
Après avoir configuré tous les nœuds de tâche, publiez le flux de tâches en cliquant sur Save dans le coin supérieur gauche de la page du flux de tâches.
Consulter l'historique et les journaux du flux de tâches
Sur la page Task Orchestration, cliquez sur le nom du flux de tâches cible.
Dans le coin supérieur droit de la page du flux de tâches, cliquez sur Go to O&M.
-
Consultez l'historique de publication et les journaux du flux de tâches.
Pour afficher l'historique de publication, accédez à la page Task Flow Information et cliquez sur l'onglet Published Tasks. La liste de publication comprend les colonnes Version ID, Publisher, Publish Time, Remarks et Actions. Dans la colonne Actions, vous pouvez cliquer sur Details ou DAG pour afficher les détails de publication d'une version spécifique.
-
Consultez les journaux du flux de tâches.
Sur l'onglet Running History, sélectionnez Triggered at Specified Time ou Triggered Manually dans la liste déroulante située en haut à gauche pour afficher les détails de tous les nœuds de tâche du flux de tâches. Développez ensuite un enregistrement d'exécution pour afficher l'état d'exécution, la durée et les journaux d'exécution de chaque sous-nœud de tâche, tels que Lindorm Spark-1, Lindorm Spark-2 et Lindorm Spark-3.
-
Cliquez sur View à côté du nom d'un nœud de tâche pour afficher les journaux de soumission de la tâche Lindorm Spark et trouver le JobID et le SparkUI du nœud.
RemarqueSi la soumission de la tâche échoue, fournissez le JobID et le SparkUI lorsque vous soumettez un ticket.
Paramètres avancés
Après avoir modifié une configuration dans la console DMS, vous devez republier le flux de tâches.
Paramètres de planification
Configurez une politique de planification pour exécuter automatiquement le flux de tâches.
Sur la page Task Orchestration, cliquez sur le nom du flux de tâches cible.
Dans le coin inférieur gauche de la page du flux de tâches, cliquez sur Task Flow Information.
-
Dans la section Scheduling Settings située à droite, activez le commutateur Enable Scheduling et configurez la politique de planification. Le tableau suivant décrit les paramètres.
Parameter
Description
Scheduling Type
Type de planification. Valeurs possibles :
-
Periodic scheduling : Planifie l'exécution périodique de la tâche, par exemple une fois par semaine.
-
Schedule once : Planifie l'exécution unique de la tâche à une heure spécifiée.
Effective Period
Plage de temps pendant laquelle le cycle de planification est actif. La valeur par défaut est 1970-01-01~9999-01-01, ce qui signifie que la planification est toujours active.
Scheduling Cycle
Période de planification de la tâche. Valeurs possibles :
-
Hour : Planifie la tâche en fonction des heures. Vous devez configurer les paramètres de planification horaire.
-
Day : Exécute la tâche quotidiennement. Vous devez configurer l'heure spécifique pour la planification quotidienne.
-
Week : Exécute la tâche certains jours de la semaine. Vous devez configurer les jours spécifiés et une heure spécifique.
-
Month : Exécute la tâche certains jours du mois. Vous devez configurer les jours spécifiés et une heure spécifique.
Timed Scheduling
Deux modes de planification sont pris en charge :
-
Planification à intervalle fixe :
-
Start Time : Heure de début de l'exécution de la tâche.
-
Interval : Intervalle entre les exécutions de tâches, en heures.
-
End Time : Heure de fin de l'exécution de la tâche.
Par exemple, si vous définissez Start Time sur 00:00, Interval sur 6 heures et End Time sur 20:59, le système exécute la tâche à 00:00, 06:00, 12:00 et 18:00.
-
-
Planification à Specified Time : Sélectionnez les points temporels spécifiques pour exécuter la tâche.
Par exemple, si vous sélectionnez 0 heure et 5 heures, le système exécute la tâche à 00:00 et 05:00.
Specified Time
-
Si le cycle de planification est Week, sélectionnez les jours de la semaine pour exécuter la tâche. Vous pouvez sélectionner plusieurs jours.
-
Si le cycle de planification est Month, sélectionnez les jours du mois pour exécuter la tâche. Vous pouvez sélectionner plusieurs jours.
Specific Time
Définissez l'heure spécifique pour exécuter le flux de tâches.
Par exemple, si vous définissez cette valeur sur 02:55, le système exécute la tâche à 02:55 aux jours spécifiés.
cron expression
Le système génère ceci automatiquement en fonction de vos paramètres. Aucune configuration manuelle n'est requise.
Exemple : Si vous devez planifier l'exécution d'un flux de tâches à 00:00 et 12:00 chaque jour, configurez la politique de planification comme suit.
Définissez Scheduling Type sur Periodic scheduling.
Définissez Scheduling Cycle sur Hour.
Définissez Timed Scheduling sur Specified Time, puis sélectionnez 0 heure et 12 heures dans la liste Specified Time.
-
Paramètres de variable
Pour un flux de tâches planifié périodiquement, vous pouvez transmettre l'heure de planification en tant que paramètre à la tâche. Par exemple, pour transmettre la date métier bizdate (la veille de l'heure d'exécution) à un nœud de tâche, configurez une variable de temps comme suit.
Sur la page du flux de tâches, double-cliquez sur le nœud de tâche Lindorm Spark, ou cliquez sur le nœud de tâche Lindorm Spark et sélectionnez
.Dans le panneau de droite, cliquez sur Variable Setting.
Sur l'onglet Node Variable ou Task Flow Variable, ajoutez un nom de variable.
-
Utilisez la variable dans la section Job Configuration. Pour plus d'informations sur les variables, consultez la rubrique Variables.
Paramètres de notification
Activez les notifications pour recevoir des messages concernant les résultats d'exécution du flux de tâches.
Dans le coin inférieur gauche de la page du flux de tâches, cliquez sur Notification Configuration.
-
Activez les commutateurs de notification en fonction de vos besoins métier.
Success Notification : Envoie une notification lorsque le flux de tâches s'exécute avec succès.
Failure Notification : Envoie une notification lorsque le flux de tâches échoue.
Timeout Notification : Envoie une notification lorsque l'exécution du flux de tâches expire.
Optional: Configurez les destinataires des messages. Pour plus d'informations, consultez la rubrique Gérer les notifications.
Rubriques connexes
Pour plus d'informations sur la fonctionnalité d'orchestration de tâches de Data Management (DMS), consultez la rubrique Présentation.