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

Lab 11 | Utiliser un notebook Apache Spark dans un pipeline

Gonzague Ducos
Dans cet exercice, nous allons créer un pipeline Azure Synapse Analytique qui inclut une activité permettant d’exécuter un notebook Apache Spark.
Cet exercice devrait durer environ 30 minutes.

Avant de commencer

Vous aurez besoin d’un dans lequel vous disposez d’un accès de niveau administratif.

Approvisionner un espace de travail Azure Synapse Analytique

Vous aurez besoin d’un espace de travail Azure Synapse Analytique avec accès au stockage du lac de données et à un pool Spark.
Dans cet exercice, vous allez utiliser une combinaison d’un script PowerShell et d’un modèle ARM pour provisionner un espace de travail Azure Synapse Analytique.
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 : ​
cloud-shell.png
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 Cloud Shell peut être redimensionné 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 ce référentiel :
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 passer au dossier de cet exercice, puis exécutez le script setup.ps1 qu’il contient :
cd dp-203/Allfiles/labs/11
./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).
Lorsque vous y êtes invité, entrez un mot de passe approprié à définir pour votre pool SQL Azure Synapse. ​Remarque : N’oubliez pas ce mot de passe !
Attendez que le script soit terminé - cela prend généralement environ 10 minutes, mais dans certains cas, cela peut prendre plus de temps. Pendant que vous attendez, consultez l’article dans la documentation Azure Synapse Analytique.

Exécuter un bloc-notes Spark de manière interactive

Avant d’automatiser un processus de transformation de données avec un notebook, il peut être utile d’exécuter le notebook de manière interactive afin de mieux comprendre le processus que vous automatiserez par la suite.
Une fois le script terminé, dans le portail Azure, accédez au groupe de ressources dp203-xxxxxxx qu’il a créé, puis sélectionnez votre espace de travail Synapse.
Dans la page Vue d’ensemble de votre espace de travail Synapse, dans la carte Ouvrir Synapse Studio, sélectionnez Ouvrir pour ouvrir Synapse Studio dans un nouvel onglet du navigateur ; Connectez-vous si vous y êtes invité.
Sur le côté gauche de Synapse Studio, utilisez l’icône ›› pour développer le menu - cela révèle les différentes pages de Synapse Studio.
Sur la page Données, affichez l’onglet Lié et vérifiez que votre espace de travail inclut un lien vers votre compte de stockage Azure Data Lake Storage Gen2, qui doit avoir un nom similaire à synapsexxxxxxx (Principal - datalakexxxxxxx).
Développez votre compte de stockage et vérifiez qu’il contient un conteneur de système de fichiers nommé files (principal).
Sélectionnez le conteneur de fichiers et notez qu’il contient un dossier nommé data, qui contient les fichiers de données que vous allez transformer.
Ouvrez le dossier data** et affichez les fichiers CSV qu’il contient. Cliquez avec le bouton droit sur l’un des fichiers et sélectionnez Aperçu pour afficher un échantillon des données. Fermez l’aperçu lorsque vous avez terminé.
Cliquez avec le bouton droit sur l’un des fichiers et sélectionnez Aperçu pour afficher les données qu’il contient. Notez que les fichiers contiennent une ligne d’en-tête, vous pouvez donc sélectionner l’option d’affichage des en-têtes de colonne.
Fermez l’aperçu. Téléchargez ensuite le fichier Spark Transform.ipynb . ​Remarque : Il est préférable de copier ce texte à l’aide de ctrl+a puis ctrl+c et de le coller dans un outil à l’aide de ctrl+v, tel que le bloc-notes, puis à l’aide de file, enregistrer en tant que Spark Transform.ipynb avec un type de fichier de tous les fichiers. Vous avez également la possibilité de sélectionner le fichier dans GitHub, puis de sélectionner les points de suspension (...), puis de sélectionner Télécharger, en l’enregistrant à un emplacement dont vous vous souvenez. ​
select-download-notebook.png
10 Ensuite, sur la page Développer, développez Notebooks, cliquez sur les options + Importer. ​
spark-notebook-import.png
Sélectionnez le fichier que vous venez de télécharger et d’enregistrer sous le nom Spark Transfrom.ipynb.
Attachez le bloc-notes à votre pool Sparkxxxxxxx.
Passez en revue les notes du bloc-notes et exécutez les cellules de code. ​Remarque : L’exécution de la première cellule de code prend quelques minutes, car le pool Spark doit être démarré. Les cellules suivantes s’exécuteront plus rapidement.
Examinez le code contenu dans le bloc-notes, en notant qu’il :
Définit une variable pour définir un nom de dossier unique.
Charge les données de commande client CSV à partir du dossier /data.
Transforme les données en divisant le nom du client en plusieurs champs.
Enregistre les données transformées au format Parquet dans le dossier portant le nom unique.
Dans la barre d’outils du bloc-notes, attachez le bloc-notes à votre pool Sparkxxxxxxx, puis utilisez le bouton ▷ Exécuter tout pour exécuter toutes les cellules de code du bloc-notes.
Le démarrage de la session Spark peut prendre quelques minutes avant que les cellules de code puissent s’exécuter.
Une fois que toutes les cellules du bloc-notes ont été exécutées, notez le nom du dossier dans lequel les données transformées ont été enregistrées.
Passez à l’onglet files (qui doit toujours être ouvert) et affichez le dossier racine de files. Si nécessaire, dans le menu Plus, sélectionnez Actualiser pour afficher le nouveau dossier. Ensuite, ouvrez-le pour vérifier qu’il contient des fichiers Parquet.
Revenez au dossier des fichiers racine, puis sélectionnez le dossier nommé de manière unique généré par le bloc-notes et, dans le menu Nouveau script SQL, sélectionnez Sélectionner les 100 premières lignes.
Dans le volet Sélectionner les 100 premières lignes, définissez le type de fichier sur le format Parquet et appliquez la modification.
Dans le nouveau volet Script SQL qui s’ouvre, utilisez le bouton ▷ Exécuter pour exécuter le code SQL et vérifier qu’il renvoie les données de commande client transformées.

Exécuter le bloc-notes dans un pipeline

Maintenant que vous comprenez le processus de transformation, vous êtes prêt à l’automatiser en encapsulant le bloc-notes dans un pipeline.

Création d’une cellule de paramètres

Dans Synapse Studio, revenez à l’onglet Spark Transform qui contient le bloc-notes, et dans la barre d’outils, dans le menu ... à l’extrémité droite, sélectionnez Effacer la sortie.
Sélectionnez la première cellule de code (qui contient le code permettant de définir la variable folderName).
Dans la barre d’outils contextuelle en haut à droite de la cellule de code, dans le menu ..., sélectionnez [@] Basculer la cellule de paramètre. Vérifiez que le mot parameters apparaît en bas à droite de la cellule.
Dans la barre d’outils, utilisez le bouton Publier pour enregistrer les modifications.

Créer un pipeline

Dans Synapse Studio, sélectionnez la page Intégrer. Ensuite, dans le menu +, sélectionnez Pipeline pour créer un nouveau pipeline.
Dans le volet Propriétés de votre nouveau pipeline, remplacez son nom Pipeline1 par Transformer les données de vente. Utilisez ensuite le bouton Propriétés situé au-dessus du volet Propriétés pour le masquer.
Dans le volet Activités, développez Synapse. , puis faites glisser une activité Notebook vers l’aire de conception du pipeline, comme illustré ici : ​
notebook-pipeline.png
Dans l’onglet Général de l’activité Notebook, remplacez son nom par Exécuter Spark Transform.
Dans l’onglet Paramètres de l’activité Bloc-notes, définissez les propriétés suivantes :
Notebook : sélectionnez le notebook Spark Transform.
Paramètres de base : développez cette section et définissez un paramètre avec les paramètres suivants :
Nom : folderName
Type : Chaîne
Valeur : sélectionnez Ajouter du contenu dynamique et définissez la valeur du paramètre sur la variable système ID d’exécution du pipeline (@pipeline().RunId)
Spark pool : sélectionnez le pool spark xxxxxxx.
Taille de l’exécuteur : sélectionnez Petit (4 vCores, 28 Go de mémoire).
Le volet de votre pipeline doit ressembler à ceci : ​
notebook-pipeline-settings.png

Publier et exécuter le pipeline

Utilisez le bouton Tout publier pour publier le pipeline (et toutes les autres ressources non enregistrées).
En haut du volet du concepteur de pipeline, dans le menu Ajouter un déclencheur, sélectionnez Déclencher maintenant. Sélectionnez ensuite OK pour confirmer que vous souhaitez exécuter le pipeline.
Remarque : Vous pouvez également créer un déclencheur pour exécuter le pipeline à une heure planifiée ou en réponse à un événement spécifique.
Lorsque le pipeline a commencé à s’exécuter, sur la page Surveiller, affichez l’onglet Exécutions du pipeline et examinez l’état du pipeline Transformer les données de vente.
Sélectionnez le pipeline Transformer les données de vente pour afficher ses détails, puis notez l’ID d’exécution du pipeline dans le volet Exécutions d’activité.
La réalisation du pipeline peut prendre cinq minutes ou plus. Vous pouvez utiliser le bouton ↻ Actualiser de la barre d’outils pour vérifier son état.
Une fois l’exécution du pipeline réussie, sur la page Données, accédez au conteneur de stockage de fichiers et vérifiez qu’un nouveau dossier nommé pour l’ID d’exécution du pipeline a été créé et qu’il contient des fichiers Parquet pour les données de vente transformées.

Supprimer des ressources Azure

Si vous avez terminé d’explorer Azure Synapse Analytique, vous devez supprimer les ressources que vous avez créées pour éviter des coûts Azure inutiles.
Fermez l’onglet du navigateur Synapse Studio et revenez au portail Azure.
Sur le portail Azure, dans la page d’accueil, sélectionnez Groupes de ressources.
Sélectionnez le groupe de ressources dp203-xxxxxxx pour votre espace de travail Synapse Analytique (et non le groupe de ressources géré) et vérifiez qu’il contient l’espace de travail Synapse, le compte de stockage et le pool Spark pour votre espace de travail.
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, votre groupe de ressources d’espace de travail Azure Synapse et le groupe de ressources d’espace de travail managé qui lui est associé seront supprimés.
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.