Esercitazione: Creare un Jupyter Notebook in Azure Cosmos DB for NoSQL per analizzare e visualizzare i dati (anteprima)

SI APPLICA A: NoSQL

Avviso

La funzionalità Jupyter Notebook di Azure Cosmos DB verrà ritirata il 30 marzo 2024; non sarà possibile usare i notebook Jupyter predefiniti dall'account di Azure Cosmos DB. È consigliabile usare il supporto di Visual Studio Code per Notebook Jupyter o il client dei notebook preferito.

Questa esercitazione descrive come usare la funzionalità Jupyter Notebooks di Azure Cosmos DB per importare dati di vendita al dettaglio di esempio in un account Azure Cosmos DB for NoSQL. Si vedrà come usare i comandi magic Azure Cosmos DB per eseguire query, analizzare i dati e visualizzare i risultati.

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. Passare all'account Azure Cosmos DB e aprire Esplora dati.

  2. Selezionare Nuovo notebook.

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

  3. Nella finestra di dialogo di conferma visualizzata, selezionare Crea.

    Nota

    Verrà creata un'area di lavoro temporanea per consentire l'uso dei Jupyter Notebook. Alla scadenza della sessione, tutti i notebook nell'area di lavoro saranno rimossi.

  4. Selezionare il kernel da usare per il notebook.

Suggerimento

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

Creare un database e un contenitore usando il set SDK

  1. Iniziare nella cella di codice predefinita.

  2. Importare tutti i pacchetti necessari per questa esercitazione.

    import azure.cosmos
    from azure.cosmos.partition_key import PartitionKey
    
  3. Creare un database denominato RetailIngest usando lo standard SDK predefinito.

    database = cosmos_client.create_database_if_not_exists('RetailIngest')
    
  4. 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'))
    
  5. Selezionare Esegui per creare il database e la risorsa contenitore.

    Screenshot of the 'Run' option in the menu.

Importare dati usando i comandi magic

  1. Aggiungere una nuova cella di codice.

  2. Nella cella di codice aggiungere il comando magic seguente per caricare, nel contenitore esistente, i dati JSON di questo 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. Selezionare Esegui cella attiva per eseguire il comando solo in questa cella specifica.

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

    Nota

    Il completamento del comando di importazione deve richiedere 5-10 secondi.

  4. Osservare l'output del comando di esecuzione. Assicurarsi che siano stati importati 2.654 documenti.

    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
    

Visualizzare i dati

  1. Creare un'altra cella di codice nuova.

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

    %%sql --database RetailIngest --container WebsiteMetrics --output df_cosmos
    SELECT c.Action, c.Price as ItemRevenue, c.Country, c.Item FROM c
    
  3. Selezionare Esegui cella attiva per eseguire il comando solo in questa cella specifica.

  4. Creare un'altra cella di codice nuova.

  5. Nella cella di codice fornire i primi 10 elementi dal Dataframe.

    df_cosmos.head(10)
    
  6. Selezionare Esegui cella attiva per eseguire il comando solo in questa cella specifica.

  7. Osservare l'output dell'esecuzione del comando.

    Azione ItemRevenue Country Articolo
    0 Acquistato 19,99 Macedonia Camicia button-up
    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 Pantaloncini denim
    5 Visualizzato 14,00 Senegal Infradito
    6 Aggiunto 14,00 Senegal Infradito
    7 Aggiunto 50.00 Panama Pantaloncini denim
    8 Acquistato 33.00 Palestina Maglia rossa
    9 Visualizzato 30.00 Malta Maglione verde
  8. Creare un'altra cella di codice nuova.

  9. Nella cella di codice importare il pacchetto pandas per personalizzare l'output del dataframe.

    import pandas as pd
    pd.options.display.html.table_schema = True
    pd.options.display.max_rows = None
    
    df_cosmos.groupby("Item").size()
    
  10. Selezionare Esegui cella attiva per eseguire il comando solo in questa cella specifica.

  11. Nell'output selezionare l'opzione Grafico a linee per ottenere una vista diversa dei dati.

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

Rendere permanente il notebook

  1. Nella sezione Notebook aprire il menu di scelta rapida per il notebook creato per questa esercitazione e selezionare Scarica.

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

    Suggerimento

    Per salvare il lavoro in modo permanente, salvare i notebook in un repository GitHub o scaricarli nel computer locale prima del termine della sessione.

Passaggi successivi