azure
Support formation Microsoft Azure
azure
Support formation Microsoft Azure
Labs 203 | Azure Date Engineer

Lab 16 | Créer un rapport en temps réel avec Azure Stream Analytique et Microsoft Power BI

Gonzague Ducos
Les solutions d’analytique de données incluent souvent l’obligation d’ingérer et de traiter des flux de données. Le traitement des flux diffère du traitement par lots en ce que les flux sont généralement illimités - en d’autres termes, ce sont des sources continues de données qui doivent être traitées perpétuellement plutôt qu’à des intervalles fixes.
Azure Stream Analytique fournit un service cloud que vous pouvez utiliser pour définir une requête qui fonctionne sur un flux de données à partir d’une source de streaming, telle qu’Azure Event Hubs ou Azure IoT Hub. Vous pouvez utiliser une requête Azure Stream Analytique pour traiter un flux de données et envoyer les résultats directement à Microsoft Power BI pour une visualisation en temps réel.
Dans cet exercice, vous allez utiliser Azure Stream Analytique pour traiter un flux de données de commande client, telles que celles générées à partir d’une application de vente au détail en ligne. Les données de commande sont envoyées à Azure Event Hubs, à partir duquel votre travail Azure Stream Analytique lit et résume les données avant de les envoyer à Power BI, où vous visualiserez les données dans un rapport.
Cet exercice devrait durer environ 45 minutes.

Avant de commencer

Vous aurez besoin d’un dans lequel vous disposez d’un accès de niveau administratif.
Vous aurez également besoin d’accéder au service Microsoft Power BI. Il se peut que votre établissement scolaire ou votre organisation le fournisse déjà, ou que vous vous .

Approvisionner des ressources Azure

Dans cet exercice, vous aurez besoin d’un espace de travail Azure Synapse Analytique avec accès au stockage du lac de données et d’un pool SQL dédié. Vous aurez également besoin d’un espace de noms Azure Event Hubs auquel les données de commande de streaming peuvent être envoyées.
Vous allez utiliser une combinaison d’un script PowerShell et d’un modèle ARM pour provisionner ces ressources.
Connectez-vous au à l’adresse https://portal.azure.com.
Utilisez le bouton [>_] à droite de la barre de recherche en haut de la page pour créer un Cloud Shell dans le portail Azure, en sélectionnant un environnement PowerShell et en créant un stockage si vous y êtes invité. Cloud Shell fournit une interface de ligne de commande dans un volet situé au bas du portail Azure, comme illustré ici : ​
Remarque : Si vous avez déjà créé un Cloud Shell qui utilise un environnement Bash, utilisez le menu déroulant en haut à gauche du volet Cloud Shell pour le remplacer par PowerShell.
Notez que vous pouvez redimensionner la coque du nuage en faisant glisser la barre de séparation en haut du volet ou en utilisant les icônes , et X en haut à droite du volet pour réduire, agrandir et fermer le volet. Pour plus d’informations sur l’utilisation d’Azure Cloud Shell, consultez la .
Dans le volet PowerShell, entrez les commandes suivantes pour cloner le référentiel contenant cet exercice :
rm -r dp-203 -f
git clone https://github.com/MicrosoftLearning/dp-203-azure-data-engineer dp-203

Une fois le référentiel cloné, entrez les commandes suivantes pour accéder au dossier de cet exercice et exécutez le script setup.ps1 qu’il contient :
cd dp-203/Allfiles/labs/19
./setup.ps1

Si vous y êtes invité, choisissez l’abonnement que vous souhaitez utiliser (cela ne se produira que si vous avez accès à plusieurs abonnements Azure).
Pendant que vous attendez la fin du script, passez à la tâche suivante.

Créer un espace de travail Power BI

Dans le service Power BI, vous organisez des jeux de données, des rapports et d’autres ressources dans des espaces de travail. Chaque utilisateur Power BI dispose d’un espace de travail par défaut nommé Mon espace de travail, que vous pouvez utiliser dans cet exercice. Mais il est généralement recommandé de créer un espace de travail pour chaque solution de reporting distincte que vous souhaitez gérer.
Connectez-vous au service Power BI à à l’aide de vos informations d’identification du service Power BI.
Dans la barre de menus de gauche, sélectionnez Espaces de travail (l’icône ressemble à 🗇 ).
Créez un espace de travail avec un nom significatif (par exemple, mslearn-streaming), en sélectionnant le mode de licence Pro.
Remarque : Si vous utilisez un compte d’essai, vous devrez peut-être activer des fonctionnalités d’essai supplémentaires.
Lorsque vous affichez votre espace de travail, notez son identificateur global unique (GUID) dans l’URL de la page (qui doit être similaire à https://app.powerbi.com/groups/<GUID>/list). Vous aurez besoin de ce GUID plus tard.

Utiliser Azure Stream Analytique pour traiter les données de streaming

Un travail Azure Stream Analytique définit une requête perpétuelle qui opère sur la diffusion en continu de données à partir d’une ou plusieurs entrées et envoie les résultats à une ou plusieurs sorties.

Créer une tâche Stream Analytique

Revenez à l’onglet du navigateur contenant le portail Azure et, une fois le script terminé, notez la région dans laquelle votre groupe de ressources dp203-xxxxxxx a été approvisionné.
Sur la page d’accueil du portail Azure, sélectionnez + Créer une ressource et recherchez Stream Analytics job. Créez ensuite un travail Stream Analytique avec les propriétés suivantes :
Abonnement : votre abonnement Azure
Groupe de ressources : sélectionnez le groupe de ressources dp203-xxxxxxx existant.
Nom: stream-orders
Région : sélectionnez la région dans laquelle votre espace de travail Synapse Analytique est provisionné.
Environnement d’hébergement : Cloud
Unités de streaming : 1
Attendez la fin du déploiement, puis accédez à la ressource de travail Stream Analytique déployée.

Créer une entrée pour le flux de données d’événement

Sur la page de vue d’ensemble des ordres de flux, sélectionnez la page Entrées, puis utilisez le menu Ajouter une entrée pour ajouter une entrée Event Hub avec les propriétés suivantes :
Alias d’entrée: orders
Sélectionnez Event Hub dans vos abonnements : Sélectionné
Abonnement : votre abonnement Azure
Espace de noms Event Hub : sélectionnez l’espace de noms Event Hubs eventsxxxxxxx
Nom du hub d’événements : sélectionnez le hub d’événement seventhubxxxxxxx existant.
Groupe de consommateurs Event Hub : sélectionnez le groupe de consommateurs $Default existant
Mode d’authentification : Créer une identité managée affectée par le système
Clé de partition : laissez vide
Format de sérialisation des événements : JSON
Codage : UTF-8
Enregistrez l’entrée et patientez pendant sa création. Vous verrez plusieurs notifications. Attendez une notification Test de connexion réussi.

Créer une sortie pour l’espace de travail Power BI

Consultez la page Sorties du travail Stream Analytique stream-orders. Utilisez ensuite le menu Ajouter une sortie pour ajouter une sortie Power BI avec les propriétés suivantes :
Alias de sortie: powerbi-dataset
Sélectionnez manuellement les paramètres Power BI : Sélectionné
Espace de travail de groupe : GUID de votre espace de travail
Mode d’authentification : sélectionnez Jeton utilisateur, puis utilisez le bouton Autoriser en bas pour vous connecter à votre compte Power BI
Nom de l’ensemble de données: realtime-data
Nom de la table: orders
Enregistrez la sortie et patientez pendant sa création. Vous verrez plusieurs notifications. Attendez une notification de test de connexion réussi.

Créer une requête pour résumer le flux d’événements

Affichez la page Requête du travail Stream Analytique stream-orders.
Modifiez la requête par défaut comme suit :
SELECT
DateAdd(second,-5,System.TimeStamp) AS StartTime,
System.TimeStamp AS EndTime,
ProductID,
SUM(Quantity) AS Orders
INTO
[powerbi-dataset]
FROM
[orders] TIMESTAMP BY EventEnqueuedUtcTime
GROUP BY ProductID, TumblingWindow(second, 5)
HAVING COUNT(*) > 1

Notez que cette requête utilise System.Timestamp (basé sur le champ EventEnqueuedUtcTime) pour définir le début et la fin de chaque fenêtre de basculement de 5 secondes (séquentielle non chevauchante) dans laquelle la quantité totale de chaque ID de produit est calculée.
Enregistrez la requête.

Exécuter la tâche de diffusion en continu pour traiter les données de commande

Affichez la page Vue d’ensemble de la tâche Stream Analytique stream-orders et, sous l’onglet Propriétés, passez en revue les entrées, la requête, les sorties et les fonctions de la tâche. Si le nombre d’entrées et de sorties est égal à 0, utilisez le bouton ↻ Actualiser de la page Vue d’ensemble pour afficher l’entrée des commandes et la sortie du jeu de données powerbi.
Sélectionnez le bouton ▷ Démarrer et lancez la tâche de streaming maintenant. Attendez d’être informé que la tâche de diffusion en continu a démarré avec succès.
Rouvrez le volet Cloud Shell et exécutez la commande suivante pour soumettre 100 commandes.
node ~/dp-203/Allfiles/labs/19/orderclient

Pendant que l’application client de commande est en cours d’exécution, basculez vers l’onglet du navigateur d’application Power BI et affichez votre espace de travail.
Actualisez la page de l’application Power BI jusqu’à ce que vous voyiez le jeu de données en temps réel dans votre espace de travail. Ce jeu de données est généré par le travail Azure Stream Analytique.

Visualiser les données de streaming dans Power BI

Maintenant que vous disposez d’un jeu de données pour les données d’ordre de streaming, vous pouvez créer un tableau de bord Power BI qui les représente visuellement.
Revenez à l’onglet de votre navigateur PowerBI.
Dans le menu déroulant + Nouveau de votre espace de travail, sélectionnez Tableau de bord, puis créez un nouveau tableau de bord nommé Suivi des commandes.
Sur le tableau de bord Suivi des commandes, sélectionnez le ✏️ menu Modifier, puis sélectionnez + Ajouter une vignette. Ensuite, dans le volet Ajouter une vignette, sélectionnez Données de streaming personnalisées, puis Suivant:
Dans le volet Ajouter une vignette de données de streaming personnalisée, sous Vos jeux de données, sélectionnez le jeu de données en temps réel, puis sélectionnez Suivant.
Remplacez le type de visualisation par défaut par Graphique linéaire. Définissez ensuite les propriétés suivantes et sélectionnez Suivant:
Axe : Fin du temps
Valeur : Commandes
Fenêtre de temps pour afficher : 1 minute
Dans le volet d’informations de la vignette, définissez le titre sur Nombre de commandes en temps réel et sélectionnez Appliquer.
Revenez à l’onglet du navigateur contenant le portail Azure et, si nécessaire, rouvrez le volet Cloud Shell. Ensuite, réexécutez la commande suivante pour soumettre 100 autres commandes.
node ~/dp-203/Allfiles/labs/19/orderclient

Pendant l’exécution du script d’envoi de commande, revenez à l’onglet du navigateur contenant le tableau de bord Power BI Suivi des commandes et observez que la visualisation est mise à jour pour refléter les nouvelles données de commande telles qu’elles sont traitées par le travail Stream Analytique (qui doit toujours être en cours d’exécution). ​
Vous pouvez réexécuter le script orderclient et observer la capture des données dans le tableau de bord en temps réel.

Supprimer des ressources

Si vous avez terminé d’explorer Azure Stream Analytique et Power BI, vous devez supprimer les ressources que vous avez créées pour éviter des coûts Azure inutiles.
Fermez l’onglet du navigateur contenant le rapport Power BI. Ensuite, dans le volet Espaces de travail, dans le menu de votre espace de travail, sélectionnez Paramètres de l’espace de travail et supprimez l’espace de travail.
Revenez à l’onglet du navigateur contenant le portail Azure, fermez le volet Cloud Shell et utilisez le 🗆 bouton Arrêter pour arrêter le travail Stream Analytique. Attendez la notification indiquant que le travail Stream Analytique s’est arrêté avec succès.
Sur le portail Azure, dans la page Accueil, sélectionnez Groupes de ressources.
Sélectionnez le groupe de ressources dp203-xxxxxxx contenant vos ressources Azure Event Hub et Stream Analytique.
En haut de la page Vue d’ensemble de votre groupe de ressources, sélectionnez Supprimer le groupe de ressources.
Entrez le nom du groupe de ressources dp203-xxxxxxx pour confirmer que vous souhaitez le supprimer, puis sélectionnez Supprimer.
Au bout de quelques minutes, les ressources créées dans cet exercice seront supprimées.
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.