Share via


Esercitazione: Creare un notebook Jupyter per analizzare i dati nell'account Azure Cosmos DB for NoSQL usando i notebook jupyter di Visual Studio Code

SI APPLICA A: NoSQL

Questa esercitazione illustra come usare i notebook Jupyter di Visual Studio Code per interagire con l'account Azure Cosmos DB for NoSQL. Si vedrà come connettersi all'account, importare i dati ed eseguire query.

Prerequisiti

Creare un nuovo notebook

In questa sezione si creeranno il database di Azure Cosmos e il contenitore e si importeranno i dati retail nel contenitore.

  1. Aprire Visual Studio Code.
  2. Eseguire il comando Crea: Nuovo Jupyter Notebook dal riquadro comandi (Ctrl+Maiusc+P) o creare un nuovo file .ipynb nell'area di lavoro.

Suggerimento

Ora che è stato creato un nuovo notebook, è possibile rinominarlo, ad esempio come AnalyzeRetailData.ipynb.

Creare un database e un contenitore usando l'SDK

  1. Iniziare nella cella di codice predefinita.

  2. Installare il pacchetto Azure.cosmos. Eseguire questa cella prima di continuare.

    %pip install azure.cosmos
    
  3. Importare tutti i pacchetti necessari per questa esercitazione.

    import azure.cosmos
    from azure.cosmos.partition_key import PartitionKey
    from azure.cosmos import CosmosClient
    
  4. Creare una nuova istanza di CosmosClient.

    endpoint = "<FILL ME>"
    key = "<FILL ME>"
    cosmos_client = CosmosClient(url=endpoint, credential=key)
    
  5. Creare un database denominato RetailIngest usando l'SDK integrato.

    database = cosmos_client.create_database_if_not_exists('RetailIngest')
    
  6. Creare un contenitore denominato WebsiteMetrics con una chiave di partizione di /CartID.

    container = database.create_container_if_not_exists(id='WebsiteMetrics', partition_key=PartitionKey(path='/CartID'))
    
  7. Selezionare Esegui per creare il database e la risorsa contenitore.

    Screenshot of Execute cell in Visual Studio Code Jupyter notebook.

Importare i dati in un contenitore

  1. Aggiungere una nuova cella di codice

  2. Nella cella di codice, aggiungere il codice seguente per caricare i dati da questo 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)
    
  3. Eseguire la cella. L'esecuzione richiederà da 45 secondi a 1 minuto.

Analizzare i dati

  1. Creare un'altra cella di codice nuova.

  2. Nella cella di codice, usare una query SQL per popolare un Pandas DataFrame. Eseguire questa cella.

    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. Creare un'altra cella di codice nuova.

  4. Nella cella di codice, fornire i primi 10 elementi dal dataframe. Eseguire questa cella.

    df_cosmos.head(10)
    
  5. Osservare l'output dell'esecuzione del comando.

    Azione ItemRevenue Country Articolo
    0 Acquistato 19,99 Macedonia Camicia con bottoni
    1 Visualizzato 12,00 Papua Nuova Guinea Collana
    2 Visualizzato 25.00 Slovacchia (Repubblica slovacca) Cardigan
    3 Acquistato 14,00 Senegal Infradito
    4 Visualizzato 50.00 Panama Shorts in denim
    5 Visualizzato 14,00 Senegal Infradito
    6 Aggiunto 14,00 Senegal Infradito
    7 Aggiunto 50.00 Panama Shorts in denim
    8 Acquistato 33.00 Palestina Maglia rossa
    9 Visualizzato 30.00 Malta Maglione verde
  6. Creare un'altra cella di codice nuova.

  7. Nella cella di codice, importare il pacchetto pandas per personalizzare l'output del dataframe. Eseguire questa cella.

    import pandas as pd    
    df_cosmos.groupby("Item").size().reset_index()
    
  8. Osservare l'output dell'esecuzione del comando.

    Articolo   Test
    0 Infradito 66
    1 Collana 55
    2 Scarpa da ginnastica 111
    ... ... ...
    45 Giacca a vento 56

Passaggi successivi