Dela via


Självstudie: Skapa en Jupyter Notebook för att analysera data i ditt Azure Cosmos DB for NoSQL-konto med hjälp av Visual Studio Code Jupyter Notebooks

GÄLLER FÖR: NoSQL

Den här självstudien beskriver hur du använder Visual Studio Code Jupyter-notebook-filer för att interagera med ditt Azure Cosmos DB för NoSQL-konto. Du ser hur du ansluter till ditt konto, importerar data och kör frågor.

Förutsättningar

Skapa en ny notebook

I det här avsnittet skapar du Azure Cosmos-databasen, containern och importerar detaljhandelsdata till containern.

  1. Öppna Visual Studio Code.
  2. Kör kommandot Skapa: Ny Jupyter Notebook från kommandopaletten (Ctrl+Skift+P) eller skapa en ny .ipynb-fil på arbetsytan.

Dricks

Nu när den nya notebook-filen har skapats kan du spara den och ge den namnet AnalyzeRetailData.ipynb.

Skapa en databas och container med hjälp av SDK

  1. Starta i standardkodcellen.

  2. Installera Azure.cosmos-paketet. Kör den här cellen innan du fortsätter.

    %pip install azure.cosmos
    
  3. Importera alla paket som du behöver för den här självstudien.

    import azure.cosmos
    from azure.cosmos.partition_key import PartitionKey
    from azure.cosmos import CosmosClient
    
  4. Skapa en ny instans av CosmosClient.

    endpoint = "<FILL ME>"
    key = "<FILL ME>"
    cosmos_client = CosmosClient(url=endpoint, credential=key)
    
  5. Skapa en databas med namnet RetailIngest med hjälp av det inbyggda SDK:et.

    database = cosmos_client.create_database_if_not_exists('RetailIngest')
    
  6. Skapa en container med namnet WebsiteMetrics med partitionsnyckeln /CartID.

    container = database.create_container_if_not_exists(id='WebsiteMetrics', partition_key=PartitionKey(path='/CartID'))
    
  7. Välj Kör för att skapa databasen och containerresursen.

    Skärmbild av Kör cell i Visual Studio Code Jupyter Notebook.

Importera data till container

  1. Lägga till en ny kodcell

  2. I kodcellen lägger du till följande kod för att ladda upp data från den här URL:en: <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. Kör cellen. Det tar 45 sekunder till 1 minut att köra.

Analysera dina data

  1. Skapa en ny kodcell.

  2. I kodcellen använder du en SQL-fråga för att fylla i en Pandas DataFrame. Kör den här cellen.

    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. Skapa en ny kodcell.

  4. I kodcellen matar du ut de 10 översta objekten från dataramen. Kör den här cellen.

    df_cosmos.head(10)
    
  5. Observera utdata från körningen av kommandot.

    Åtgärd ItemRevenue Land Artikel
    0 Inköpt 19.99 Makedonien Skjorta med knapp
    1 Visat 12,00 Papua Nya Guinea Halsband
    2 Visat 25,00 Slovakien (Slovakien) Kofta tröja
    3 Inköpt 14,00 Senegal Flip Flop skor
    4 Visat 50.00 Panama Jeansshorts
    5 Visat 14,00 Senegal Flip Flop skor
    6 Tillagd 14,00 Senegal Flip Flop skor
    7 Tillagd 50.00 Panama Jeansshorts
    8 Inköpt 33,00 Palestinska territoriet, PS Röd överkant
    9 Visat 30,00 Malta Grön tröja
  6. Skapa en ny kodcell.

  7. Importera Pandas-paketet i kodcellen för att anpassa dataramens utdata. Kör den här cellen.

    import pandas as pd    
    df_cosmos.groupby("Item").size().reset_index()
    
  8. Observera utdata från körningen av kommandot.

    Artikel Test
    0 Flip Flop skor 66
    1 Halsband 55
    2 Atletiska skor 111
    ... ... ...
    45 Vindbrytarjacka 56

Nästa steg