Tutoriel : Créer un Jupyter Notebook dans Azure Cosmos DB for NoSQL pour analyser et visualiser des données (préversion)

S’APPLIQUE À : NoSQL

Avertissement

La fonctionnalité Jupyter Notebooks d’Azure Cosmos DB sera mise hors service le 30 mars 2024. Vous ne pourrez pas utiliser des notebooks Jupyter intégrés à partir du compte Azure Cosmos DB. Nous vous recommandons d’utiliser la prise en charge de Visual Studio Code pour les notebooks Jupyter ou votre client de notebooks préféré.

Ce tutoriel montre comment utiliser la fonctionnalité Jupyter Notebooks d’Azure Cosmos DB pour importer des exemples de données de vente au détail dans un compte Azure Cosmos DB for NoSQL. Vous verrez comment utiliser les commandes magic Azure Cosmos DB pour exécuter des requêtes, analyser les données et visualiser les résultats.

Prérequis

Créer une nouvelle instance Notebook

Dans cette section, vous allez créer la base de données Azure Cosmos et le conteneur, puis importer les données de vente dans le conteneur.

  1. Accédez à votre compte Azure Cosmos DB et ouvrez l’Explorateur de données.

  2. Sélectionnez Nouveau notebook.

    Screenshot of the Data Explorer with the 'New Notebook' option highlighted.

  3. Dans la boîte de dialogue de confirmation qui s’affiche, sélectionnez Créer.

    Notes

    Un espace de travail temporaire sera créé pour vous permettre d’utiliser Jupyter Notebooks. Lorsque la session expire, tous les blocs-notes de l’espace de travail seront supprimés.

  4. Sélectionnez le noyau que vous souhaitez utiliser pour le bloc-notes.

Conseil

Une fois que vous avez créé le notebook, vous pouvez le renommer par exemple VisualizeRetailData.ipynb.

Créer une base de données et un conteneur avec le SDK

  1. Démarrez dans la cellule de code par défaut.

  2. Importez les packages dont vous avez besoin pour ce tutoriel.

    import azure.cosmos
    from azure.cosmos.partition_key import PartitionKey
    
  3. Créez une base de données nommée RetailIngest à l’aide du Kit de développement logiciel (SDK) intégré.

    database = cosmos_client.create_database_if_not_exists('RetailIngest')
    
  4. Créez un conteneur nommé WebsiteMetrics avec une clé de partition de /CartID.

    container = database.create_container_if_not_exists(id='WebsiteMetrics', partition_key=PartitionKey(path='/CartID'))
    
  5. Sélectionnez Exécuter pour créer la base de données et la ressource de conteneur.

    Screenshot of the 'Run' option in the menu.

Importer des données à l’aide de commandes magic

  1. Ajoutez une cellule de code.

  2. Dans la cellule de code, ajoutez la commande magic suivante pour charger, dans votre conteneur existant, les données JSON de cette URL : https://cosmosnotebooksdata.blob.core.windows.net/notebookdata/websiteData.json

    %%upload --databaseName RetailIngest --containerName WebsiteMetrics --url https://cosmosnotebooksdata.blob.core.windows.net/notebookdata/websiteData.json
    
  3. Sélectionnez Exécuter une cellule active pour exécuter uniquement la commande dans cette cellule spécifique.

    Screenshot of the 'Run Active Cell' option in the menu.

    Remarque

    La commande d’importation doit prendre 5 à 10 secondes.

  4. Observez la sortie de la commande d’exécution. Vérifiez que 2 654 documents ont été importés.

    Documents successfully uploaded to WebsiteMetrics
    Total number of documents imported:
      Success: 2654
      Failure: 0
    Total time taken : 00:00:04 hours
    Total RUs consumed : 27309.660000001593
    

Visualiser vos données

  1. Créez une autre cellule de code.

  2. Dans la cellule de code, utilisez une requête SQL pour remplir un DataFrame Pandas.

    %%sql --database RetailIngest --container WebsiteMetrics --output df_cosmos
    SELECT c.Action, c.Price as ItemRevenue, c.Country, c.Item FROM c
    
  3. Sélectionnez Exécuter une cellule active pour exécuter uniquement la commande dans cette cellule spécifique.

  4. Créez une autre cellule de code.

  5. Dans la cellule de code, sortiez les 10 premiers éléments du dataframe.

    df_cosmos.head(10)
    
  6. Sélectionnez Exécuter une cellule active pour exécuter uniquement la commande dans cette cellule spécifique.

  7. Observez la sortie de l’exécution de la commande.

    Action ItemRevenue Country Élément
    0 Acheté 19.99 Macédoine du Nord Chemise à boutons
    1 Consulté 12,00 Papouasie-Nouvelle-Guinée Collier
    2 Consulté 25.00 Slovaquie (République slovaque) Cardigan
    3 Acheté 14.00 Sénégal Tongues
    4 Consulté 50.00 Panama Shorts en denim
    5 Consulté 14.00 Sénégal Tongues
    6 Ajouté 14.00 Sénégal Tongues
    7 Ajouté 50.00 Panama Shorts en denim
    8 Acheté 33,00 Territoires palestiniens Haut rouge
    9 Consulté 30.00 Malte Pull vert
  8. Créez une autre cellule de code.

  9. Dans la cellule de code, importez le package pandas pour personnaliser la sortie du dataframe.

    import pandas as pd
    pd.options.display.html.table_schema = True
    pd.options.display.max_rows = None
    
    df_cosmos.groupby("Item").size()
    
  10. Sélectionnez Exécuter une cellule active pour exécuter uniquement la commande dans cette cellule spécifique.

  11. Dans la sortie, sélectionnez l’option Graphique en courbes pour afficher une autre visualisation des données.

    Screenshot of the Pandas dataframe visualization for the data as a line chart.

Conserver votre bloc-notes

  1. Dans la section Blocs-notes, ouvrez le menu contextuel du bloc-notes que vous avez créé pour ce tutoriel, puis sélectionnez Télécharger.

    Screenshot of the notebook context menu with the 'Download' option.

    Conseil

    Pour enregistrer votre travail définitivement, enregistrez vos blocs-notes dans un dépôt GitHub ou téléchargez les notebooks sur votre ordinateur local avant la fin de la session.

Étapes suivantes