Tutoriel : implémenter Azure Databricks avec un point de terminaison Azure Cosmos DB

Ce tutoriel explique comment implémenter un environnement Databricks injecté sur un réseau virtuel avec un point de terminaison de service activé pour Azure Cosmos DB.

Ce didacticiel vous montre comment effectuer les opérations suivantes :

  • Créer un espace de travail Azure Databricks dans un réseau virtuel
  • Créer un point de terminaison de service Azure Cosmos DB
  • Créer un compte Azure Cosmos DB et importer des données
  • Créer un cluster Azure Databricks
  • Interroger Azure Cosmos DB à partir d’un notebook Azure Databricks

Prérequis

Avant de commencer, procédez comme suit :

Créer un point de terminaison de service Azure Cosmos DB

  1. Une fois que vous avez déployé un espace de travail Azure Databricks dans un réseau virtuel, accédez au réseau virtuel dans le portail Azure. Notez les sous-réseaux publics et privés qui ont été créés via le déploiement de Databricks.

  2. Sélectionnez le sous-réseau public et créez un point de terminaison de service Azure Cosmos DB. Enregistrez.

    Ajouter un point de terminaison de service Cosmos DB

Création d’un compte Azure Cosmos DB

  1. Ouvrez le portail Azure. Dans le coin supérieur gauche de l’écran, sélectionnez Créer une ressource > Bases de données > Azure Cosmos DB.

  2. Renseignez les Détails de l’instance sur l’onglet De base avec les paramètres suivants :

    Paramètre Valeur
    Abonnement votre abonnement
    Groupe de ressources votre groupe de ressources
    Nom du compte db-vnet-service-endpoint
    API Core (SQL)
    Emplacement USA Ouest
    Géoredondance Disable
    Écritures multirégions Activer

    Ajouter les informations de base du compte Cosmos DB

  3. Sélectionnez l’onglet Réseau et configurez votre réseau virtuel.

    a. Choisissez le réseau virtuel créé comme composant requis, puis sélectionnez public-subnet. Notez que private-subnet a la note Point de terminaison « Microsoft AzureCosmosDB » manquant. En effet, vous avez activé uniquement le point de terminaison de service Azure Cosmos DB sur le sous-réseau public.

    b. Assurez-vous d’avoir activé Autoriser l’accès à partir du portail Azure. Ce paramètre vous permet d’accéder à votre compte Azure Cosmos DB à partir du portail Azure. Si cette option est définie sur Deny, vous recevrez des erreurs si vous tentez d’accéder à votre compte.

    Notes

    Ce n’est pas nécessaire pour ce tutoriel, mais vous pouvez également activer Autoriser l’accès à partir de mon adresse IP si vous souhaitez pouvoir accéder à votre compte Azure Cosmos DB à partir de votre ordinateur local. Par exemple, si vous vous connectez à votre compte à l’aide du kit de développement logiciel (SDK) Azure Cosmos DB, vous devez activer ce paramètre. S’il est désactivé, vous recevrez des erreurs « Accès refusé ».

    Paramètres de réseau du compte Cosmos DB

  4. Sélectionnez Vérifier + Créer, puis Créer pour créer votre compte Azure Cosmos DB à l’intérieur du réseau virtuel.

  5. Une fois votre compte Azure Cosmos DB créé, accédez à Clés sous Paramètres. Copiez la chaîne de connexion principale et enregistrez-la dans un éditeur de texte pour une utilisation ultérieure.

    Page des clés du compte Cosmos DB

  6. Sélectionnez Data Explorer et Nouveau conteneur pour ajouter une base de données et un conteneur à votre compte Azure Cosmos DB.

    Nouvelle collection Cosmos DB

Charger des données dans Azure Cosmos DB

  1. Ouvrez la version d’interface graphique de l’outil de migration de données pour Azure Cosmos DB, Dtui.exe.

    Outil de migration de données Cosmos DB

  2. Sur l’onglet Informations sources, sélectionnez Fichier(s) CSV dans la liste déroulante Importer à partir de. Sélectionnez ensuite Ajouter des fichiers et ajoutez les données de tempête CSV que vous avez téléchargées comme condition préalable.

    Information sur la source de l’outil de migration de données Cosmos DB

  3. Sur l’onglet Informations cibles, entrez votre chaîne de connexion. Le format de chaîne de connexion est AccountEndpoint=<URL>;AccountKey=<key>;Database=<database>. AccountEndpoint et AccountKey sont inclus dans la chaîne de connexion principale que vous avez enregistrée dans la section précédente. Ajoutez Database=<your database name> à la fin de la chaîne de connexion, puis sélectionnez Vérifier. Ensuite, ajoutez le nom du conteneur et la clé de partition.

    Information sur la cible de l’outil de migration de données Cosmos DB

  4. Sélectionnez Suivant jusqu’à ce que vous atteigniez la section Résumé. Ensuite, sélectionnez Importer.

Créer un cluster et ajouter une bibliothèque

  1. Accédez à votre service Azure Databricks dans le portail Azure et sélectionnez Initialiser l’espace de travail.

  2. Créez un cluster. Choisissez un nom de cluster et acceptez les paramètres par défaut restants.

    Nouveaux paramètres du cluster

  3. Une fois votre cluster créé, accédez à la page du cluster et sélectionnez l’onglet Bibliothèques. Sélectionnez Installer nouveau et chargez le fichier jar du connecteur Spark pour installer la bibliothèque.

    Installer la bibliothèque du connecteur Spark

    Vous pouvez vérifier que la bibliothèque a été installée sur l’onglet Bibliothèques.

    Onglet Bibliothèques de cluster Databricks

Interroger Azure Cosmos DB à partir d’un notebook Databricks

  1. Accédez à votre espace de travail Azure Databricks et créez une bibliothèque python.

    Créer un bloc-notes Databricks

  2. Exécutez le code Python suivant pour définir la configuration de connexion Azure Cosmos DB. Changez Point de terminaison, Masterkey, Base de données et Conteneur en conséquence.

    connectionConfig = {
      "Endpoint" : "https://<your Azure Cosmos DB account name.documents.azure.com:443/",
      "Masterkey" : "<your Azure Cosmos DB primary key>",
      "Database" : "<your database name>",
      "preferredRegions" : "West US 2",
      "Container": "<your container name>",
      "schema_samplesize" : "1000",
      "query_pagesize" : "200000",
      "query_custom" : "SELECT * FROM c"
    }
    
  3. Utilisez le code python suivant pour charger les données et créer un affichage temporaire.

    users = spark.read.format("com.microsoft.azure.cosmosdb.spark").options(**connectionConfig).load()
    users.createOrReplaceTempView("storm")
    
  4. Utilisez la commande magic suivante pour exécuter une instruction SQL qui retourne des données.

    %sql
    select * from storm
    

    Vous avez correctement connecté votre espace de travail Databricks injecté dans un réseau virtuel à une ressource Azure Cosmos DB avec point de terminaison de service. Pour en savoir plus sur la connexion à Azure Cosmos DB, consultez Connecteur Azure Cosmos DB pour Apache Spark.

Nettoyer les ressources

Lorsque vous n’en avez plus besoin, supprimez le groupe de ressources, l’espace de travail Azure Databricks et toutes les ressources associées. La suppression du travail évite une facturation inutile. Si vous avez l’intention d’utiliser l’espace de travail Azure Databricks à l’avenir, vous pouvez arrêter le cluster et le redémarrer ultérieurement. Si vous ne pensez pas continuer à utiliser cet espace de travail Azure Databricks, supprimez toutes les ressources créées au cours de ce tutoriel en procédant comme suit :

  1. Dans le menu de gauche du portail Azure, cliquez sur Groupes de ressources, puis sur le nom de ressources que vous avez créé.

  2. Sur la page de votre groupe de ressources, sélectionnez Supprimer, saisissez le nom de la ressource à supprimer dans la zone de texte, puis sélectionnez à nouveau Supprimer.

Étapes suivantes

Dans ce tutoriel, vous avez déployé un espace de travail Azure Databricks sur un réseau virtuel et utilisé le connecteur Spark Azure Cosmos DB pour interroger des données Azure Cosmos DB à partir de Databricks. Pour en savoir plus sur l’utilisation d’Azure Databricks dans un réseau virtuel, passez au tutoriel d’utilisation de SQL Server avec Azure Databricks.