Tutoriel : Créer un Jupyter Notebook pour analyser des données dans votre compte Azure Cosmos DB for NoSQL à l’aide de notebooks Jupyter Visual Studio Code
S’APPLIQUE À : NoSQL
Ce tutoriel explique comment utiliser les notebooks Jupyter Visual Studio Code pour interagir avec votre compte Azure Cosmos DB for NoSQL. Vous verrez comment vous connecter à votre compte, importer des données et exécuter des requêtes.
Prérequis
- Un compte Azure Cosmos DB for NoSQL déjà créé :
- Si vous disposez d’un abonnement Azure, créez un compte.
- Vous ne possédez pas d’abonnement Azure ? Vous pouvez essayer Azure Cosmos DB gratuitement sans carte de crédit.
- Installez Visual Studio Code et configurez votre environnement pour utiliser des notebooks.
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.
- Ouvrez Visual Studio Code.
- Exécutez la commande Créer : nouveau Jupyter Notebook à partir de la palette de commandes (Ctrl+Maj+P) ou créez un fichier .ipynb dans votre espace de travail.
Conseil
Une fois que vous avez créé le notebook, vous pouvez l’enregistrer et le renommer par exemple AnalyzeRetailData.ipynb.
Créer une base de données et un conteneur avec le SDK
Démarrez dans la cellule de code par défaut.
Installez le package Azure.cosmos. Exécutez cette cellule avant de continuer.
%pip install azure.cosmos
Importez les packages dont vous avez besoin pour ce tutoriel.
import azure.cosmos from azure.cosmos.partition_key import PartitionKey from azure.cosmos import CosmosClient
Créez une instance de CosmosClient.
endpoint = "<FILL ME>" key = "<FILL ME>" cosmos_client = CosmosClient(url=endpoint, credential=key)
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')
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'))
Sélectionnez Exécuter pour créer la base de données et la ressource de conteneur.
Importer des données dans un conteneur
Ajouter une cellule de code
Dans la cellule de code, ajoutez le code suivant pour charger des données à partir de cette URL :
<https://cosmosnotebooksdata.blob.core.windows.net/notebookdata/websiteData.json>
.import urllib.request import json with urllib.request.urlopen("https://cosmosnotebooksdata.blob.core.windows.net/notebookdata/websiteData.json") as url: docs = json.loads(url.read().decode()) for doc in docs: container.upsert_item(doc)
Exécutez la cellule. L’exécution prend 45 secondes à 1 minute.
Analyser vos données
Créez une autre cellule de code.
Dans la cellule de code, utilisez une requête SQL pour remplir un DataFrame Pandas. Exécutez cette cellule.
import pandas as pd from pandas import DataFrame QUERY = "SELECT c.Action, c.Price as ItemRevenue, c.Country, c.Item FROM c" results = container.query_items( query=QUERY, enable_cross_partition_query=True ) df_cosmos = pd.DataFrame(results)
Créez une autre cellule de code.
Dans la cellule de code, sortiez les 10 premiers éléments du dataframe. Exécutez cette cellule.
df_cosmos.head(10)
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 Créez une autre cellule de code.
Dans la cellule de code, importez le package pandas pour personnaliser la sortie du dataframe. Exécutez cette cellule.
import pandas as pd df_cosmos.groupby("Item").size().reset_index()
Observez la sortie de l’exécution de la commande.
Article Test 0 Tongues 66 1 Collier 55 2 Athletic Shoes 111 ... ... ... 45 Veste coupe-vent 56