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
- Un account Azure Cosmos DB for NoSQL già presente.
- Se si ha già una sottoscrizione di Azure, creare un nuovo account.
- Se non si ha una sottoscrizione di Azure, è possibile provare Azure Cosmos DB gratuitamente senza necessità di carta di credito.
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.
Passare all'account Azure Cosmos DB e aprire Esplora dati.
Selezionare Nuovo notebook.
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.
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
Iniziare nella cella di codice predefinita.
Importare tutti i pacchetti necessari per questa esercitazione.
import azure.cosmos from azure.cosmos.partition_key import PartitionKey
Creare un database denominato RetailIngest usando lo standard SDK predefinito.
database = cosmos_client.create_database_if_not_exists('RetailIngest')
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'))
Selezionare Esegui per creare il database e la risorsa contenitore.
Importare dati usando i comandi magic
Aggiungere una nuova cella di codice.
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
Selezionare Esegui cella attiva per eseguire il comando solo in questa cella specifica.
Nota
Il completamento del comando di importazione deve richiedere 5-10 secondi.
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
Creare un'altra cella di codice nuova.
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
Selezionare Esegui cella attiva per eseguire il comando solo in questa cella specifica.
Creare un'altra cella di codice nuova.
Nella cella di codice fornire i primi 10 elementi dal Dataframe.
df_cosmos.head(10)
Selezionare Esegui cella attiva per eseguire il comando solo in questa cella specifica.
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 Creare un'altra cella di codice nuova.
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()
Selezionare Esegui cella attiva per eseguire il comando solo in questa cella specifica.
Nell'output selezionare l'opzione Grafico a linee per ottenere una vista diversa dei dati.
Rendere permanente il notebook
Nella sezione Notebook aprire il menu di scelta rapida per il notebook creato per questa esercitazione e selezionare Scarica.
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.