Gestion des tâches Apache Flink® dans HDInsight sur des clusters AKS
Important
Azure HDInsight sur AKS a été mis hors service le 31 janvier 2025. En savoir plus à travers cette annonce.
Vous devez migrer vos charges de travail vers Microsoft Fabric ou un produit Azure équivalent pour éviter l’arrêt brusque de vos charges de travail.
Important
Cette fonctionnalité est actuellement en préversion. Les Conditions d’utilisation supplémentaires pour les préversions Microsoft Azure incluent des termes juridiques supplémentaires qui s’appliquent aux fonctionnalités Azure en version bêta, en préversion ou qui ne sont pas encore publiées en disponibilité générale. Pour plus d'informations sur cette préversion spécifique, consultez Azure HDInsight sur AKS en préversion. Pour des questions ou des suggestions de fonctionnalités, envoyez une demande sur AskHDInsight avec les détails et suivez-nous pour plus de mises à jour sur Communauté Azure HDInsight.
HDInsight sur AKS fournit une fonctionnalité permettant de gérer et d’envoyer des travaux Apache Flink® directement via le portail Azure (interface conviviale) et les API REST ARM.
Cette fonctionnalité permet aux utilisateurs de contrôler et de surveiller efficacement leurs travaux Apache Flink sans nécessiter de connaissances approfondies au niveau du cluster.
Avantages
gestion simplifiée des tâches: avec l’intégration native d’Apache Flink dans le portail Azure, les utilisateurs n’ont plus besoin d’une connaissance approfondie des clusters Flink pour envoyer, gérer et surveiller des travaux.
User-Friendly API REST: HDInsight sur AKS fournit des API REST ARM conviviales pour envoyer et gérer des travaux Flink. Les utilisateurs peuvent envoyer des travaux Flink à partir de n’importe quel service Azure à l’aide de ces API Rest.
Mises à jour des tâches sans effort et gestion des états: l’intégration native du portail Azure offre une expérience sans encombre pour mettre à jour les tâches et les restaurer à leur dernier état enregistré (point de sauvegarde / savepoint). Cette fonctionnalité garantit la continuité et l’intégrité des données tout au long du cycle de vie du travail.
Automatisation des tâches Flink à l'aide d'un pipeline Azure: En utilisant HDInsight sur AKS, les utilisateurs de Flink ont accès à une API REST ARM conviviale, vous pouvez intégrer sans effort les opérations des tâches Flink dans votre pipeline Azure. Que vous lancez de nouveaux travaux, mettez à jour des travaux en cours d’exécution ou effectuez différentes opérations de travail, cette approche rationalisée élimine les étapes manuelles. Il vous permet de gérer efficacement votre cluster Flink.
Conditions préalables
Il existe certaines conditions préalables avant d’envoyer et de gérer des travaux à partir du portail ou des API Rest.
Créez un répertoire dans le compte de stockage principal du cluster pour charger le fichier jar du travail.
Si l’utilisateur souhaite prendre des points d’enregistrement, créez un répertoire dans le compte de stockage pour les points d’enregistrement de travail.
Fonctionnalités et opérations clés
Nouvelle soumission de travail: Les utilisateurs peuvent envoyer sans effort un nouveau Flink, éliminant ainsi la nécessité de configurations complexes ou d’outils externes.
Arrêter et démarrer des travaux avec des points d’enregistrement: Les utilisateurs peuvent arrêter et démarrer de manière fluide leurs travaux Flink à partir de leur état précédent (Savepoint). Les points de sauvegarde garantissent que la progression de la tâche est conservée, ce qui permet une reprise transparente.
Mises à jour de la tâche: l'utilisateur peut mettre à jour la tâche en cours d'exécution après la mise à jour du fichier JAR sur le compte de stockage. Cette mise à jour prend automatiquement le point de sauvegarde et lance le travail avec un nouveau fichier JAR.
Mises à jour sans état: L'exécution d'un nouveau redémarrage pour une tâche est simplifiée par des mises à jour sans état. Cette fonctionnalité permet aux utilisateurs de lancer un redémarrage propre à l’aide du fichier jar de travail mis à jour.
Gestion des points de sauvegarde: À tout moment, les utilisateurs peuvent créer des points d’enregistrement pour leurs travaux en cours d’exécution. Ces points d’enregistrement peuvent être répertoriés et utilisés pour redémarrer le travail à partir d’un point de contrôle spécifique en fonction des besoins.
Annuler: cela annule définitivement le travail.
Supprimer: Supprimer l’enregistrement de l’historique des tâches.
Options de gestion des travaux dans HDInsight sur AKS
HDInsight sur AKS permet de gérer les tâches Flink.
gestion des travaux à partir du portail Azure
Pour exécuter le travail Flink à partir du portail, accédez à :
Portail --> HDInsight sur le pool de clusters AKS --> Cluster Flink --> Paramètres --> Jobs Flink
Nouvelle tâche : Pour soumettre une nouvelle tâche, téléchargez les fichiers jar dans le compte de stockage et créez un répertoire savepoint. Terminez le modèle avec les configurations nécessaires, puis envoyez le travail.
Détails de la propriété :
Propriété Description Valeur par défaut Obligatoire Nom du travail Nom unique pour la tâche. Ceci s’affiche sur le portail. Le nom du travail doit être en minuscules. Oui Chemin d’accès JAR Chemin de stockage pour le fichier jar de travail. Les utilisateurs doivent créer un répertoire dans le stockage de cluster et charger le fichier jar de travail. Oui Classe d'entrée Classe d’entrée pour le travail à partir de laquelle l’exécution du travail démarre. Oui Arguments Argument du programme principal du travail. Séparez tous les arguments par des espaces. Non parallélisme Parallélisme du Job Flink. 2 Oui savepoint.directory Répertoire Savepoint pour le travail. Il est recommandé que les utilisateurs créent un nouveau répertoire pour le point de sauvegarde de travail dans le compte de stockage. abfs://<container>@<account>/<deployment-ID>/savepoints
Non Une fois la tâche lancée, l’état de la tâche sur le portail est EN COURS.
Arrêter : Arrêter le travail n’a pas besoin d’un paramètre, l’utilisateur peut arrêter le travail en sélectionnant l’action.
Dès que le travail est arrêté, l’état du travail sur le portail est ARRÊTÉ.
Démarrer : Cette action démarre le travail à partir du point de sauvegarde. Pour démarrer le travail, sélectionnez le travail arrêté et démarrez-le.
Remplissez le modèle de flux avec les options requises et démarrez-le. Les utilisateurs doivent sélectionner le point d’enregistrement à partir duquel l’utilisateur souhaite démarrer le travail. Par défaut, il prend le dernier point de sauvegarde réussi.
détails de la propriété :
Propriété Description Valeur par défaut Obligatoire Arguments Argument du programme principal de la tâche. Tous les arguments doivent être séparés par espace. Non Dernier point d’enregistrement Dernier point de sauvegarde réussi pris avant d'arrêter le processus. Cette option est utilisée par défaut si aucun point d’enregistrement n’est sélectionné. Non modifiable Nom du point d’enregistrement Les utilisateurs peuvent lister les points d'enregistrement disponibles pour une tâche et en sélectionner un pour démarrer la tâche. Non Une fois le travail démarré, l’état du travail sur le portail est RUNNING.
Mise à jour : Update permet de redémarrer des travaux avec le code de travail mis à jour. Les utilisateurs doivent mettre à jour le fichier jar de travail le plus récent dans l’emplacement de stockage et mettre à jour le travail à partir du portail. Cette mise à jour arrête la tâche avec un point de sauvegarde et redémarre avec la plus récente archive JAR.
Modèle de mise à jour du travail.
Une fois le travail mis à jour, l’état du travail sur le portail est « EN COURS D’EXÉCUTION ».
Mise à jour sans état : Cette tâche est semblable à une mise à jour, mais elle implique un redémarrage complet de la tâche avec le code le plus à jour.
Modèle de mise à jour du travail.
détails de la propriété :
Propriété Description Valeur par défaut Obligatoire Arguments Argument du programme principal du travail. Séparez tous les arguments avec de l’espace. Non Une fois la tâche mise à jour, l’état de la tâche sur le portail est en cours.
Savepoint : Effectuer un point de sauvegarde pour le travail Flink.
Créer un point de sauvegarde est un processus qui prend du temps. Vous pouvez voir l'état de la tâche comme en cours.
Annuler : cette opération aide l’utilisateur à mettre fin à la tâche.
Supprimer : Supprimer les données d'emploi du portail.
Afficher les détails du travail : Pour afficher le nom du travail, l’utilisateur peut cliquer sur le nom du travail, il fournit les détails sur le travail et le résultat de la dernière action.
Pour toute action ayant échoué, ce fichier json de travail donne des exceptions détaillées et des raisons d’échec.
Gestion des tâches à l'aide de l'API REST
HDInsight sur AKS prend en charge des API REST ARM conviviales pour soumettre et gérer des tâches. À l’aide de cette API REST Flink, vous pouvez intégrer en toute transparence les opérations de travail Flink dans votre pipeline Azure. Que vous lancez de nouveaux travaux, mettez à jour des travaux en cours d’exécution ou effectuez différentes opérations de travail, cette approche rationalisée élimine les étapes manuelles et vous permet de gérer efficacement votre cluster Flink.
Format d’URL de base pour l’API Rest
Veuillez consulter l'URL suivante pour l'API REST. Les utilisateurs doivent remplacer l’abonnement, le groupe de ressources, le pool de clusters, le nom du cluster, et HDInsight dans cette version de l’API AKS avant de l’utiliser.
https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runjob?api-version={{API_VERSION}}
À l’aide de cette API REST, les utilisateurs peuvent lancer de nouveaux travaux, arrêter des travaux, démarrer des travaux, créer des points d’enregistrement, annuler des travaux et supprimer des travaux. La API_VERSION actuelle est 2023-06-01-preview.
Authentification de l’API Rest
Pour authentifier les utilisateurs de l’API REST Flink ARM, vous devez obtenir le jeton du porteur ou le jeton d’accès pour la ressource ARM. Pour authentifier l’API REST Azure ARM (Azure Resource Manager) à l’aide d’un principal de service, vous pouvez suivre ces étapes générales :
Créez un principal de service.
az ad sp create-for-rbac --name <your-SP-name>
Accordez l’autorisation du propriétaire au fournisseur de services pour le cluster
flink
.Connectez-vous avec le principal de service.
az login --service-principal -u <client_id> -p <client_secret> --tenant <tenant_id>
Obtenir le jeton d’accès.
$token = az account get-access-token --resource=https://management.azure.com/ | ConvertFrom-Json
$tok = $token.accesstoken
Les utilisateurs peuvent utiliser le jeton dans l’URL affichée.
$data = Invoke-RestMethod -Uri $restUri -Method GET -Headers @{ Authorization = "Bearer $tok" }
Authentification à l’aide de l’identité managée : Utilisateurs peuvent utiliser des ressources qui prennent en charge l’identité managée pour effectuer des appels à l’API REST de travail. Pour plus d’informations, reportez-vous à la documentation Managed Identity.
LISTE des API et des paramètres
Nouvelle tâche : API REST pour soumettre une nouvelle tâche à Flink.
Option Valeur Méthode PUBLICATION URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runJob?api-version={{API_VERSION}}
En-tête Authorization = « Bearer $token » Corps de la demande :
{ "properties": { "jobType": "FlinkJob", "jobName": "<JOB_NAME>", "action": "NEW", "jobJarDirectory": "<JOB_JAR_STORAGE_PATH>", "jarName": "<JOB_JAR_NAME>", "entryClass": "<JOB_ENTRY_CLASS>", “args”: ”<JOB_JVM_ARGUMENT>” "flinkConfiguration": { "parallelism": "<JOB_PARALLELISM>", "savepoint.directory": "<JOB_SAVEPOINT_DIRECTORY_STORAGE_PATH>" } } }
Détails de la propriété pour le corps JSON :
Propriété Description Valeur par défaut Obligatoire type d'emploi Type de travail. Il doit s’agir de « FlinkJob » Oui nomDeTâche Nom unique de la tâche. Ceci s’affiche sur le portail. Le nom de poste doit être en minuscules. Oui action Il indique le type d’opération sur le travail. Il doit toujours être « NOUVEAU » pour le lancement d'une nouvelle tâche. Oui jobJarDirectory Chemin de stockage du répertoire jar de tâche. Les utilisateurs doivent créer un répertoire dans le stockage de cluster et charger le fichier jar de travail. Oui jarName Nom du fichier jar de travail. Oui entryClass Classe d’entrée pour le travail à partir de laquelle l’exécution du travail démarre. Oui args Argument du programme principal du travail. Séparez les arguments avec de l’espace. Non parallélisme Parallélisme du travail Flink. 2 Oui savepoint.directory Répertoire Savepoint pour le travail. Il est recommandé que les utilisateurs créent un nouveau répertoire pour le point de sauvegarde du travail dans le compte de stockage. abfs://<container>@<account>/<deployment-ID>/savepoints
Non Exemple:
Invoke-RestMethod -Uri $restUri -Method POST -Headers @{ Authorization = "Bearer $tok" } -Body $jsonString -ContentType "application/json"
Arrêter la tâche : API Rest pour stopper la tâche en cours d’exécution.
Option Valeur Méthode PUBLIER URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runJob?api-version={{API_VERSION}}
En-tête Autorisation = « Bearer $token » corps de la requête
{ "properties": { "jobType": "FlinkJob", "jobName": "<JOB_NAME>", "action": "STOP" } }
Détails de la propriété pour le contenu JSON :
Propriété Description Valeur par défaut Obligatoire type d'emploi Type de travail. Il doit s’agir de « FlinkJob » Oui nom du travail Nom du travail, utilisé pour lancer le travail Oui action Il doit s’agir de « STOP » Oui Exemple:
Invoke-RestMethod -Uri $restUri -Method POST -Headers @{ Authorization = "Bearer $tok" } -Body $jsonString -ContentType "application/json"
Démarrer la tâche : API Rest pour démarrer la tâche ARRÊTÉE.
Option Valeur Méthode PUBLIER URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runJob?api-version={{API_VERSION}}
En-tête Authorization = « Bearer $token » contenu de la requête
{ "properties": { "jobType": "FlinkJob", "jobName": "<JOB_NAME>", "action": "START", "savePointName": "<SAVEPOINT_NAME>" } }
détails de la propriété pour le corps JSON :
Propriété Description Valeur par défaut Obligatoire type de poste Type de travail. Il doit s’agir de « FlinkJob » Oui nomDuTravail Nom du travail utilisé pour lancer la tâche. Oui action Ça doit être « START » Oui nom du point de sauvegarde Nom du point de sauvegarde pour démarrer le travail. Il s’agit d’une propriété facultative : par défaut, l'opération de démarrage utilise le dernier point de sauvegarde réussi. Non Exemple :
Invoke-RestMethod -Uri $restUri -Method POST -Headers @{ Authorization = "Bearer $tok" } -Body $jsonString -ContentType "application/json"
Travail de mise à jour : API Rest pour la mise à jour du travail en cours d’exécution.
Option Valeur Méthode POST URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runJob?api-version={{API_VERSION}}
En-tête Authorization = « Bearer $token » corps de la requête
{ "properties": { "jobType": "FlinkJob", "jobName": "<JOB_NAME>", "action": "UPDATE", “args” : “<JOB_JVM_ARGUMENT>”, "savePointName": "<SAVEPOINT_NAME>" } }
Détails de la propriété dans le corps JSON :
Propriété Description Valeur par défaut Obligatoire type d'emploi Type de travail. Il doit s’agir de « FlinkJob » Oui nom du poste Nom de la tâche utilisé pour lancer la tâche. Oui action Il doit toujours s’agir de « UPDATE » pour le lancement d'une nouvelle tâche. Oui args Arguments de la JVM pour la tâche Non nomDuPointDeSauvegarde Nom du point de sauvegarde pour commencer le travail. Il s’agit d’une propriété facultative, par défaut, l’opération de démarrage prend le dernier point d’enregistrement réussi. Non Exemple:
Invoke-RestMethod -Uri $restUri -Method POST -Headers @{ Authorization = "Bearer $tok" } -Body $jsonString -ContentType "application/json"
tâche de mise à jour sans état : API REST pour la mise à jour sans état.
Option Valeur Méthode PUBLIER URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runJob?api-version={{API_VERSION}}
En-tête Authorization = « Bearer $token » corps de la requête
{ "properties": { "jobType": "FlinkJob", "jobName": "<JOB_NAME>", "action": "STATELESS_UPDATE", “args” : “<JOB_JVM_ARGUMENT>” } }
Les détails de la propriété pour le contenu JSON :
Propriété Description Valeur par défaut Obligatoire type d'emploi Type de travail. Il doit s’agir de « FlinkJob » Oui nomDeTâche Nom de la tâche utilisé pour lancer le travail. Oui action Il doit toujours être « STATELESS_UPDATE » pour le lancement de toute nouvelle tâche. Oui args Arguments JVM de travail Non exemple :
Invoke-RestMethod -Uri $restUri -Method POST -Headers @{ Authorization = "Bearer $tok" } -Body $jsonString -ContentType "application/json"
Savepoint : API REST pour déclencher un savepoint pour le job.
Option Valeur Méthode PUBLIER URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runJob?api-version={{API_VERSION}}
En-tête Authorization = « Bearer $token » corps de la requête
{ "properties": { "jobType": "FlinkJob", "jobName": "<JOB_NAME>", "action": "SAVEPOINT" } }
détails de la propriété pour le corps JSON :
Propriété Description Valeur par défaut Obligatoire type d'emploi Type de travail. Il doit s’agir de « FlinkJob » Oui nomDuJob Nom de la tâche utilisé pour lancer le travail. Oui action Il doit toujours s’agir de « SAVEPOINT » pour le nouveau lancement du travail. Oui Exemple :
Invoke-RestMethod -Uri $restUri -Method POST -Headers @{ Authorization = "Bearer $tok" } -Body $jsonString -ContentType "application/json"
Lister les points d’enregistrement : API REST pour répertorier tous les points d’enregistrement à partir du répertoire savepoint.
Option Valeur Méthode PUBLIER URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runJob?api-version={{API_VERSION}}
En-tête Autorisation = « Bearer $token » corps de la requête
{ "properties": { "jobType": "FlinkJob", "jobName": "<JOB_NAME>", "action": "LIST_SAVEPOINT" } }
détails de la propriété pour le corps JSON :
Propriété Description Valeur par défaut Obligatoire type d'emploi Type de travail. Il doit s’agir de « FlinkJob » Oui nomDeTâche Nom de la tâche utilisé pour démarrer l'emploi Oui action Il doit s’agir de « LIST_SAVEPOINT » Oui Exemple :
Invoke-RestMethod -Uri $restUri -Method POST -Headers @{ Authorization = "Bearer $tok" } -Body $jsonString -ContentType "application/json"
Annuler : API Rest pour annuler la tâche.
Option Valeur Méthode PUBLIER URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runJob?api-version={{API_VERSION}}
En-tête Authorization = « Bearer $token » corps de la requête
{ "properties": { "jobType": "FlinkJob", "jobName": "<JOB_NAME>", "action": "CANCEL" } }
Détails de la propriété pour le corps JSON :
Propriété Description Valeur par défaut Obligatoire type d'emploi Type de travail. Il doit être FlinkJob
Oui nomDuTravail Nom de la tâche utilisé pour lancer le travail. Oui action Il devrait être ANNULÉ. Oui Exemple :
Invoke-RestMethod -Uri $restUri -Method POST -Headers @{ Authorization = "Bearer $tok" } -Body $jsonString -ContentType "application/json"
Supprimer : API Rest pour supprimer la tâche.
Option Valeur Méthode PUBLICATION URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runJob?api-version={{API_VERSION}}
En-tête Authorization = « Bearer $token » corps de la requête
{ "properties": { "jobType": "FlinkJob", "jobName": "<JOB_NAME>", "action": "DELETE" } }
détails de la propriété pour le corps JSON :
Propriété Description Valeur par défaut Obligatoire type d'emploi Type de travail. Il doit s’agir de « FlinkJob » Oui nomDeTravail Nom de la tâche utilisé pour lancer la tâche. Oui action Il doit être supprimé. Oui exemple :
Invoke-RestMethod -Uri $restUri -Method POST -Headers @{ Authorization = "Bearer $tok" } -Body $jsonString -ContentType "application/json"
Répertorier les travaux : API Rest pour répertorier tous les travaux et l’état de l’action actuelle.
Option Valeur Méthode OBTENIR URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/jobs?api-version={{API_VERSION}}
En-tête Authorization = « Bearer $token » sortie :
{ "value": [ { "id": "/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/jobs/job1", "properties": { "jobType": "FlinkJob", "jobName": "job1", "jobJarDirectory": "<JOB_JAR_STORAGE_PATH>", "jarName": "<JOB_JAR_NAME>", "action": "STOP", "entryClass": "<JOB_ENTRY_CLASS>", "flinkConfiguration": { "parallelism": "2", "savepoint.directory": "<JOB_SAVEPOINT_DIRECTORY_STORAGE_PATH>s" }, "jobId": "20e9e907eb360b1c69510507f88cdb7b", "status": "STOPPED", "jobOutput": "Savepoint completed. Path: <JOB_SAVEPOINT_DIRECTORY_STORAGE_PATH>s/savepoint-20e9e9-8a48c6b905e5", "actionResult": "SUCCESS", "lastSavePoint": "<JOB_SAVEPOINT_DIRECTORY_STORAGE_PATH>s/savepoint-20e9e9-8a48c6b905e5" } } ] }
Remarque
Lorsqu’une action est en cours, actionResult l’indique avec la valeur « IN_PROGRESS » Lors de la réussite, elle affiche « SUCCESS » et, en cas de défaillance, elle est « FAILED ».
Référence
- Ordonnancement de tâches Apache Flink
- Apache, Apache Flink, Flink et les noms de projets open source associés sont marques de commerce du Apache Software Foundation (ASF).