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

Lab 22 | Automatiser un notebook Azure Databricks avec Azure Data Factory

Gonzague Ducos
Vous pouvez utiliser des notebooks dans Azure Databricks pour effectuer des tâches d’ingénierie des données, telles que le traitement de fichiers de données et le chargement de données dans des tables. Lorsque vous devez orchestrer ces tâches dans le cadre d’un pipeline d’ingénierie des données, vous pouvez utiliser Azure Data Factory.
Cet exercice devrait durer environ 40 minutes.

Avant de commencer

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

Approvisionner des ressources Azure

Dans cet exercice, vous allez utiliser un script pour provisionner un nouvel espace de travail Azure Databricks et une ressource Azure Data Factory dans votre abonnement Azure.
Conseil : Si vous disposez déjà d’un espace de travail Azure Databricks Standard ou d’essai et d’une ressource Azure Data Factory v2, vous pouvez ignorer cette procédure.
Dans un navigateur web, 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 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 accéder au dossier de cet atelier et exécuter le script setup.ps1 qu’il contient :
cd dp-203/Allfiles/labs/27
./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).
Attendez que le script soit terminé - cela prend généralement environ 5 minutes, mais dans certains cas, cela peut prendre plus de temps. Pendant que vous attendez, consultez .
Une fois le script terminé, fermez le volet Cloud Shell et accédez au groupe de ressources dp203-xxxxxxx créé par le script pour vérifier qu’il contient un espace de travail Azure Databricks et une ressource Azure Data Factory (V2) (vous devrez peut-être actualiser l’affichage du groupe de ressources).

Importer un bloc-notes

Vous pouvez créer des notebooks dans votre espace de travail Azure Databricks pour exécuter du code écrit dans divers langages de programmation. Dans cet exercice, vous allez importer un bloc-notes existant qui contient du code Python.
Dans le portail Azure, accédez au groupe de ressources dp203-xxxxxxx créé par le script (ou au groupe de ressources contenant votre espace de travail Azure Databricks existant)
Sélectionnez votre ressource Azure Databricks Service (nommée databricksxxxxxxx si vous avez utilisé le script d’installation pour la créer).
Dans la page Vue d’ensemble de votre espace de travail, utilisez le bouton Lancer l’espace de travail pour ouvrir votre espace de travail Azure Databricks dans un nouvel onglet du navigateur. Connectez-vous si vous y êtes invité.
Conseil : Lorsque vous utilisez le portail Databricks Workspace, divers conseils et notifications peuvent s’afficher. Ignorez-les et suivez les instructions fournies pour accomplir les tâches de cet exercice.
Consultez le portail de l’espace de travail Azure Databricks et notez que la barre latérale sur le côté gauche contient des icônes pour les différentes tâches que vous pouvez effectuer.
Dans la barre latérale de gauche, sélectionnez Espace de travail. Sélectionnez ensuite le dossier ⌂ Accueil.
En haut de la page, dans le menu à côté de votre nom d’utilisateur, sélectionnez Importer. Ensuite, dans la boîte de dialogue Importer, sélectionnez URL et importez le bloc-notes à partir de https://github.com/MicrosoftLearning/dp-203-azure-data-engineer/raw/master/Allfiles/labs/27/Process-Data.ipynb
Examinez le contenu du bloc-notes, qui comprend des cellules de code Python pour :
Récupérer un paramètre nommé folder s’il a été passé (sinon utiliser une valeur par défaut de data).
Téléchargez les données à partir de GitHub et enregistrez-les dans le dossier spécifié dans le système de fichiers Databricks (DBFS).
Quittez le bloc-notes en renvoyant le chemin d’accès où les données ont été enregistrées en tant que sortie ​Astuce : Le bloc-notes peut contenir pratiquement n’importe quelle logique de traitement de données dont vous avez besoin. Cet exemple simple est conçu pour montrer les principes clés.

Activer l’intégration d’Azure Databricks avec Azure Data Factory

Pour utiliser Azure Databricks à partir d’un pipeline Azure Data Factory, vous devez créer un service lié dans Azure Data Factory qui permet d’accéder à votre espace de travail Azure Databricks.

Générer un jeton d’accès

Dans le portail Azure Databricks, dans la barre de menu supérieure droite, sélectionnez le nom d’utilisateur, puis Paramètres utilisateur dans la liste déroulante.
Dans la page Paramètres utilisateur, sélectionnez Développeur. Ensuite, à côté de Jetons d’accès, sélectionnez Gérer.
Sélectionnez Générer un nouveau jeton et générez un nouveau jeton avec le commentaire Data Factory et une durée de vie vide (afin que le jeton n’expire pas). Veillez à copier le jeton lorsqu’il s’affiche avant de sélectionner Terminé.
Collez le jeton copié dans un fichier texte afin de l’avoir à portée de main pour plus tard dans cet exercice.

Créer un service lié dans Azure Data Factory

Revenez au portail Azure et, dans le groupe de ressources dp203-xxxxxxx, sélectionnez la ressource Azure Data Factory adfxxxx.
Dans la page Vue d’ensemble, sélectionnez le studio Launch pour ouvrir Azure Data Factory Studio. Connectez-vous si vous y êtes invité.
Dans Azure Data Factory Studio, utilisez l’icône » pour développer le volet de navigation sur la gauche. Sélectionnez ensuite la page Gérer.
Sur la page Gérer, dans l’onglet Services liés, sélectionnez + Nouveau pour ajouter un nouveau service lié.
Dans le volet Nouveau service lié, sélectionnez l’onglet Calcul en haut. Sélectionnez ensuite Azure Databricks.
Poursuivez et créez le service lié avec les paramètres suivants :
Nom : AzureDatabricks
Description : Espace de travail Azure Databricks
Se connecter via le runtime d’intégration : AutoResolveInegrationRuntime
Méthode de sélection du compte : à partir de l’abonnement Azure
Abonnement Azure : sélectionnez votre abonnement
Espace de travail Databricks : sélectionnez votre espace de travail databricksxxxxxxx
Sélectionner le cluster : Nouveau cluster de tâches
URL de l’espace de travail Databrick : définie automatiquement sur l’URL de votre espace de travail Databricks
Type d’authentification : Jeton d’accès
Jeton d’accès : Collez votre jeton d’accès
Version du cluster : 13.3 LTS (Spark 3.4.1, Scala 2.12)
Type de nœud de cluster : Standard_DS3_v2
Version de Python : 3
Options de l’ouvrier : Fixe
Travailleurs : 1

Utiliser un pipeline pour exécuter le notebook Azure Databricks

Maintenant que vous avez créé un service lié, vous pouvez l’utiliser dans un pipeline pour exécuter le bloc-notes que vous avez consulté précédemment.

Créer un pipeline

Dans Azure Data Factory Studio, dans le volet de navigation, sélectionnez Auteur.
Sur la page Auteur, dans le volet Ressources d’usine, utilisez l’icône + pour ajouter un pipeline.
Dans le volet Propriétés du nouveau pipeline, remplacez son nom par Traiter les données avec Databricks. Utilisez ensuite le bouton Propriétés (qui ressemble à 🗏*) à l’extrémité droite de la barre d’outils pour masquer le volet Propriétés.
Dans le volet Activités, développez Databricks et faites glisser une activité Notebook vers l’aire du concepteur de pipeline.
Une fois la nouvelle activité Notebook1 sélectionnée, définissez les propriétés suivantes dans le volet inférieur :
Généralités:
Nom : Données de processus
Azure Databricks:
Service lié Databricks : sélectionnez le service lié AzureDatabricks que vous avez créé précédemment
Paramètres:
Chemin d’accès au notebook : accédez au dossier Users/your_user_name et sélectionnez le notebook Process-Data
Paramètres de base : ajoutez un nouveau paramètre nommé folder avec la valeur product_data
Utilisez le bouton Valider situé au-dessus de la surface du concepteur de pipeline pour valider le pipeline. Utilisez ensuite le bouton Tout publier pour le publier (enregistrer).

Exécuter le pipeline

Au-dessus de l’aire du concepteur de pipeline, sélectionnez Ajouter un déclencheur, puis sélectionnez Déclencher maintenant.
Dans le volet Exécution du pipeline, sélectionnez OK pour exécuter le pipeline.
Dans le volet de navigation de gauche, sélectionnez Surveiller et observer le pipeline Traiter les données avec Databricks sous l’onglet Exécutions du pipeline. L’exécution peut prendre un certain temps, car elle crée dynamiquement un cluster Spark et exécute le bloc-notes. Vous pouvez utiliser le bouton ↻ Actualiser sur la page Exécutions du pipeline pour actualiser l’état.
Remarque : Si votre pipeline échoue, il se peut que votre abonnement dispose d’un quota insuffisant dans la région où votre espace de travail Azure Databricks est approvisionné pour créer un cluster de tâches. Pour plus d’informations, consultez . Si cela se produit, vous pouvez essayer de supprimer votre espace de travail et d’en créer un nouveau dans une autre région. Vous pouvez spécifier une région en tant que paramètre pour le script d’installation comme suit : ./setup.ps1 eastus
Une fois l’exécution réussie, sélectionnez son nom pour afficher les détails de l’exécution. Ensuite, sur la page Traiter les données avec Databricks, dans la section Exécutions d’activité, sélectionnez l’activité Traiter les données et utilisez son icône de sortie pour afficher le JSON de sortie de l’activité, qui doit ressembler à ceci :
code
{
"runPageUrl": "https://adb-..../run/...",
"runOutput": "dbfs:/product_data/products.csv",
"effectiveIntegrationRuntime": "AutoResolveIntegrationRuntime (East US)",
"executionDuration": 61,
"durationInQueue": {
"integrationRuntimeQueue": 0
},
"billingReference": {
"activityType": "ExternalActivity",
"billableDuration": [
{
"meterType": "AzureIR",
"duration": 0.03333333333333333,
"unit": "Hours"
}
]
}
}

Notez la valeur runOutput, qui est la variable de chemin dans laquelle le notebook a enregistré les données.

Supprimer des ressources Azure Databricks

Maintenant que vous avez terminé d’explorer l’intégration d’Azure Data Factory avec Azure Databricks, vous devez supprimer les ressources que vous avez créées pour éviter les coûts inutiles d’Azure et libérer de la capacité dans votre abonnement.
Fermez les onglets de l’espace de travail Azure Databricks et du navigateur Azure Data Factory Studio, puis 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 contenant votre espace de travail Azure Databricks et Azure Data Factory (et non le groupe de ressources managées).
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 pour confirmer que vous souhaitez le supprimer, puis sélectionnez Supprimer.
Au bout de quelques minutes, votre groupe de ressources et le groupe de ressources d’espace de travail géré 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.