Zelfstudie: Een Jupyter Notebook maken om gegevens te analyseren in uw Azure Cosmos DB for NoSQL-account met behulp van Visual Studio Code Jupyter-notebooks

In deze zelfstudie wordt uitgelegd hoe u de Visual Studio Code Jupyter-notebooks gebruikt om te communiceren met uw Azure Cosmos DB for NoSQL-account. U ziet hoe u verbinding maakt met uw account, gegevens importeert en query's uitvoert.

Prerequisites

Een nieuwe notebook maken

In deze sectie maakt u de Azure Cosmos-database, -container en importeert u de retailgegevens in de container.

  1. Open Visual Studio Code.
  2. Voer de opdracht Create: New Jupyter Notebook uit vanuit het opdrachtpalet (Ctrl+Shift+P) of maak een nieuw .ipynb-bestand in uw werkruimte.

Tip

Nu het nieuwe notitieblok is gemaakt, kunt u het opslaan en een naam opgeven zoals AnalyzeRetailData.ipynb.

Een database en container maken met behulp van de SDK

  1. Begin in de standaardcodecel.

  2. Installeer het Azure.cosmos-pakket. Voer deze cel uit voordat u doorgaat.

    %pip install azure.cosmos
    
  3. Importeer alle pakketten die u nodig hebt voor deze zelfstudie.

    import azure.cosmos
    from azure.cosmos.partition_key import PartitionKey
    from azure.cosmos import CosmosClient
    
  4. Maak een nieuw exemplaar van CosmosClient.

    endpoint = "<FILL ME>"
    key = "<FILL ME>"
    cosmos_client = CosmosClient(url=endpoint, credential=key)
    
  5. Maak een database met de naam RetailIngest met behulp van de ingebouwde SDK.

    database = cosmos_client.create_database_if_not_exists('RetailIngest')
    
  6. Maak een container met de naam WebsiteMetrics met een partitiesleutel van /CartID.

    container = database.create_container_if_not_exists(id='WebsiteMetrics', partition_key=PartitionKey(path='/CartID'))
    
  7. Selecteer Uitvoeren om de database en containerresource te maken.

    Schermopname van de Execute-cel in Visual Studio Code Jupyter-notebook.

Gegevens importeren in container

  1. Een nieuwe codecel toevoegen

  2. Voeg in de codecel de volgende code toe om gegevens uit deze URL te uploaden: <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)
    
  3. Voer de cel uit. Dit duurt 45 seconden tot 1 minuut om uit te voeren.

Uw gegevens analyseren

  1. Maak nog een nieuwe codecel.

  2. Gebruik in de codecel een SQL-query om een Pandas DataFrame te vullen. Voer deze cel uit.

    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)
    
  3. Maak nog een nieuwe codecel.

  4. Voer in de codecel de tien belangrijkste items uit het dataframe uit. Voer deze cel uit.

    df_cosmos.head(10)
    
  5. Bekijk de uitvoer van het uitvoeren van de opdracht.

    Action ItemRevenue Country Onderdeel
    0 Ingekocht 19.99 Macedonië Overhemd met knopen
    1 Weergegeven 12,00 Papoea-Nieuw-Guinea Halssnoer
    2 Weergegeven 25.00 Slowakije (Slowaakse Republiek) Vest trui
    3 Ingekocht 14,00 Senegal Flop schoenen spiegelen
    4 Weergegeven 50.00 Panama Spijkerbroekshorts
    5 Weergegeven 14,00 Senegal Flop schoenen spiegelen
    6 Toegevoegd 14,00 Senegal Flop schoenen spiegelen
    7 Toegevoegd 50.00 Panama Spijkerbroekshorts
    8 Ingekocht 33,00 Palestijnse gebieden Rode bovenkant
    9 Weergegeven 30,00 Malta Groene trui
  6. Maak nog een nieuwe codecel.

  7. Importeer in de codecel het pandas-pakket om de uitvoer van het dataframe aan te passen. Voer deze cel uit.

    import pandas as pd    
    df_cosmos.groupby("Item").size().reset_index()
    
  8. Bekijk de uitvoer van het uitvoeren van de opdracht.

    Onderdeel Test
    0 Flop schoenen spiegelen 66
    1 Halssnoer 55
    2 Sportschoenen 111
    ... ... ...
    45 Windbreaker Jas 56

Volgende stappen