6.5 C
New York

Notifications de travail dans SQL Stream Builder


Crédits spéciaux co-auteur : Adam András Toth, SStagiaire ingénieur informatique

Les besoins des entreprises en matière d’analyse et de traitement des données devenant de plus en plus complexes, Cloudera vise à répondre à ces besoins, en offrant des options de pointe en constante évolution à tous vos problèmes liés aux données. Flux Cloudera Traitement vise à faire passer l’analyse de données en temps réel au niveau supérieur. Nous sommes ravis de mettre en avant la surveillance des tâches avec des notifications, une nouvelle fonctionnalité pour SQL Stream Builder (SSB).

La défaillance soudaine d’un pipeline de données complexe peut avoir des conséquences dévastatricessurtout s’il passe inaperçu. Un détecteur de fraude financière en temps réel ou une structure complexe collectant et agrégeant des données pour créer des informations et permettre à leurs shoppers de prendre des décisions basées sur les donnéesce sont des systèmes qui ont peu ou pas de place pour l’erreur ou les temps d’arrêt prolongés. C’est pourquoi nous intégrons une fonctionnalité de notifications de travaux dans SSB, afin d’offrir une fiabilité maximale dans vos pipelines de données complexes en temps réel.

Les notifications de travail peuvent vous aider à vous assurer que vous pouvez détecter les travaux ayant échoué sans vérifier l’interface utilisateur, ce qui peut faire gagner beaucoup de temps à l’utilisateur. Cette fonctionnalité est très utile, en particulier lorsque l’utilisateur a de nombreux travaux en cours d’exécution et qu’il serait difficile de suivre leur état sans notifications.

Tout d’abord, nous voudrions vous présenter l’structure des notifications de travaux. Utilisons un chiffre pour démontrer remark les notifications d’emploi s’intègrent dans SSBalors nous allons discuter de chaque sort séparément.

Aperçu

Dans SSB, vous pouvez gérer plusieurs projets. Les projets représentent le cycle de vie du développement logiciel (SDLC) dans SQL Stream Builder (SSB) : vous pouvez créer un environnement pour développer des travaux SQL, vérifier les résultats, puis les mettre en manufacturing. Les ressources pour la création d’emplois sont partagées au sein des emplois d’un projet, et il existe des ressources disponibles qui peuvent être utilisées entre les projets. Le idea de base d’un projet peut également être étendu pour la collaboration en partageant les projets avec les membres de l’équipe dans la console SQL en streaming, ou en utilisant le contrôle de code supply pour synchroniser le projet avec un référentiel Git.

Les notifications d’emploi appartiennent également aux projets. Cela signifie que dans un projet, vous pouvez définir plusieurs notifications, et ces notifications ne peuvent appartenir qu’aux travaux de ce projet. Dans la determine ci-dessous, vous pouvez voir l’structure d’un projet du level de vue des notifications de travail. À l’heure actuelle, il existe deux varieties de notifications : par e-mail et par webhook. Les notifications peuvent également être organisées en groupes. L’avantage est que si vous souhaitez affecter le même ensemble de notifications à plusieurs tâches, vous n’avez pas à le faire une par une dans chaque tâche, vous pouvez simplement créer un groupe de notification et l’affecter aux tâches. Une notification peut être incluse dans plusieurs groupes et un groupe peut même contenir un autre groupe.

Dans la determine ci-dessous, les mêmes notifications de tâche sont marquées de la même couleur. Comme vous pouvez le voir dans le projet, nous avons trois emplois. Dans le premier, nous n’avons que des notifications, donc si ce travail échoue, ces quatre notifications se déclencheront. Dans le second, nous avons une notification de webhook et un groupe de notification qui a un autre webhook et une notification par e-mail, donc si ce travail échoue, ces trois notifications se déclencheront. Le troisième travail a une notification de webhook, un groupe qui contient une notification par e-mail et un autre groupe de notification qui a deux notifications, donc si ce travail échoue, ces quatre notifications se déclencheront.

Avis

Comme je l’ai mentionné précédemment, il existe deux varieties de notifications et vous pouvez les affecter à des groupes. Je vais d’abord vous présenter les espaces réservés, que vous pouvez utiliser pour créer des notifications.

Espaces réservés

Le message électronique ou la demande de webhook qui est envoyé lors du déclenchement d’une notification peut être entièrement personnalisé. Plus que cela, SSB permet également l’utilisation d’espaces réservés, qui peuvent être utilisés pour fournir toutes les informations nécessaires dans la notification. Avec la possibilité de personnaliser les messages et d’utiliser des espaces réservés, les utilisateurs pourront également analyser automatiquement les notifications entrantes et créer des réponses automatiques pour celles-ci, garantissant ainsi que les pipelines critiques peuvent être redémarrés sans nécessiter d’intervention humaine.

Les espaces réservés actuellement disponibles pour utilisation sont :

  • nom du travail
  • jobStatus
  • jobStatusDescriptionjobStatusDescription
  • ssbJobId
  • flinkJobId
  • identifiant de cluster
  • dernièreException

Vous pouvez utiliser un espace réservé au format suivant : « Houston, nous avons un problème, votre travail portant le nom ${jobName} a échoué. »

Notifications par e mail

Les notifications par e-mail (comme vous pouvez le deviner d’après son nom) envoient des e-mails à l’adresse e-mail indiquée en cas d’échec du travail. Pour que cela fonctionne, certaines propriétés CM doivent être configurées :

  • Hôte du serveur de messagerie pour les notifications de travaux : l’hôte du serveur SMTP pour les notifications d’échec des travaux
  • Nom d’utilisateur du serveur de messagerie pour les notifications de tâche : nom d’utilisateur permettant d’accéder au serveur SMTP pour les notifications d’échec de tâche
  • Mot de passe du serveur de messagerie pour les notifications de travaux : mot de passe permettant d’accéder au serveur SMTP pour les notifications d’échec des travaux
  • Authentification SMTP pour les notifications de travaux : Activer l’authentification SMTP pour les notifications de travaux (valeur par défaut : True)
  • StartTLS pour les notifications de travaux : utilisez la commande StartTLS pour établir une connexion sécurisée au serveur SMTP pour les notifications de travaux (valeur par défaut : True)
  • Adresse e-mail de l’expéditeur des notifications de tâche : adresse e-mail de l’expéditeur des notifications de tâche
  • Port du serveur de messagerie pour les notifications de travaux : le port du serveur SMTP pour les notifications d’échec des travaux (valeur par défaut : 587)

Si ces éléments sont correctement configurés et que vous ajoutez une notification à votre travail, vous devriez recevoir un e-mail si le travail échoue.

Notifications Webhook

Avec les notifications de webhook, vous pouvez effectuer des demandes de webhook en cas d’échec d’une tâche. Si vous utilisez correctement les espaces réservés, vous pouvez utiliser les factors de terminaison webhook définis des functions externes pour gérer les échecs de manière plus efficace. (Par exemple, vous pouvez configurer une notification webhook avec Slack pour vous envoyer un message directement si une tâche échoue.)

Dans le cas des notifications de webhook, vous pouvez définir une propriété dans CM :

  • Parallélisme de l’expéditeur du webhook des notifications de tâche : nombre de threads utilisés par la tâche de notification de tâche pour appeler des webhooks spécifiés par l’utilisateur lors de la notification d’une tâche échouée ou manquante (valeur par défaut : 10)

AVIS DE NON-RESPONSABILITÉ : Le modèle de cost utile d’une notification de webhook doit être un JSON valide ! Assurez-vous également de mettre des espaces réservés entre guillemets !

Par exemple:

  • « identify »: ${jobName} n’est pas valide
  • « identify »: »${jobName} » est valide
  • « identify »: « tout ce que je veux ici ${jobName} » est également valide

Groupes de notifications

Comme je l’ai mentionné ci-dessus, vous pouvez affecter vos notifications à des groupes. De cette façon, vous n’avez pas besoin d’ajouter toutes les notifications aux tâches une par une. Une selected intéressante à propos des groupes est qu’ils peuvent également contenir d’autres groupes de notification.

La fonction de notifications de travail de SSB est un moyen pratique de suivre vos travaux défaillants et de minimiser ainsi leur temps d’arrêt. Vous avez juste besoin de vous assurer que la fonctionnalité « activer les notifications de travail » dans CM est cochée. La tâche de surveillance des travaux interroge périodiquement l’état de vos travaux et déclenche les notifications affectées si un travail ayant échoué est trouvé. L’intervalle de vérification dans CM peut être configuré avec le travail intervalle de surveillance des notifications propriété (valeur par défaut : 60s).

Dans cette part, je vais vous montrer quelques exemples vidéo pour les utilisations des notifications de travail.

Créer et utiliser une notification par e-mail :

(intégré)https://www.youtube.com/watch?v=Y84fFF3genk(/intégré)

Créez et utilisez une notification Webhook :

(intégré)https://www.youtube.com/watch?v=tCwCIQGPsk4(/embed)

Créer et utiliser un groupe de notification

(intégré)https://www.youtube.com/watch?v=07iCSxRHrcE(/embed)

N’importe qui peut essayer SSB en utilisant le Édition communautaire de traitement de flux (CSP-CE). CE facilite le développement de processeurs de flux, automobile cela peut être fait directement depuis votre bureau ou tout autre nœud de développement. Les analystes, les scientifiques des données et les développeurs peuvent désormais évaluer de nouvelles fonctionnalités, développer localement des processeurs de flux basés sur SQL à l’aide de SQL Stream Builder optimisé par Flink, et développer des consommateurs/producteurs Kafka et des connecteurs Kafka Join, le tout localement avant de passer à la manufacturing dans CDP.

Related Articles

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici

Latest Articles