教學課程:在 Azure Cosmos DB for NoSQL 中建立 Jupyter 筆記本,以分析資料並將資料視覺化 (預覽)
適用於:NoSQL
警告
Azure Cosmos DB 的 Jupyter Notebook 功能將於 2024 年 3 月 30 日淘汰;屆時您將無法從 Azure Cosmos DB 帳戶使用內建 Jupyter Notebook。 建議您使用 Visual Studio Code 來實現對 Jupyter Notebook 的支援,或您慣用的筆記本用戶端。
本教學課程將逐步解說如何使用 Azure Cosmos DB 的 Jupyter Notebook 功能,將範例零售資料匯入至 Azure Cosmos DB for NoSQL 帳戶。 您將了解如何使用 Azure Cosmos DB 的 magic 命令來執行查詢、分析資料,以及將結果視覺化。
必要條件
- 現有的 Azure Cosmos DB for NoSQL 帳戶。
- 如果您有現有的 Azure 訂用帳戶,請建立新的帳戶。
- 沒有 Azure 訂用帳戶? 您可以免費試用 Azure Cosmos DB,不需要信用卡。
建立新的 Notebook
在本節中,您將建立 Azure Cosmos 資料庫、容器,並將零售資料匯入至容器。
巡覽至 Azure Cosmos DB 帳戶並開啟資料總管。
選取 [新增 Notebook]。
在出現的確認對話方塊中,選取 [建立]。
注意
系統會建立暫時工作區,讓您能夠使用 Jupyter Notebook。 工作階段到期時,將會移除工作區中的任何筆記本。
選取您想要用於筆記本的核心。
提示
現在,新筆記本已建立完成,您可以將筆記本重新命名為 VisualizeRetailData.ipynb 之類的名稱。
使用 SDK 建立資料庫和容器
從預設的程式碼資料格開始。
匯入本教學課程所需的任何套件。
import azure.cosmos from azure.cosmos.partition_key import PartitionKey
使用內建 SDK 建立名為 RetailIngest 的資料庫。
database = cosmos_client.create_database_if_not_exists('RetailIngest')
建立名為 WebsiteMetrics 的容器及
/CartID
分割區索引鍵。container = database.create_container_if_not_exists(id='WebsiteMetrics', partition_key=PartitionKey(path='/CartID'))
選取 [執行] 以建立資料庫和容器資源。
使用 magic 命令匯入資料
新增程式碼資料格。
在程式碼資料格中,新增下列 magic 命令,將來自此 URL 的 JSON 資料上傳至您現有的容器:https://cosmosnotebooksdata.blob.core.windows.net/notebookdata/websiteData.json
%%upload --databaseName RetailIngest --containerName WebsiteMetrics --url https://cosmosnotebooksdata.blob.core.windows.net/notebookdata/websiteData.json
選取 [Run Active Cell] \(執行作用中資料格\),只執行此特定資料格中的命令。
注意
匯入命令應該需要 5-10 秒才能完成。
觀察執行命令的輸出。 確定已匯入 2,654 份文件。
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
將資料視覺化
建立另一個新的程式碼資料格。
在程式碼資料格中,使用 SQL 查詢填入 Pandas DataFrame。
%%sql --database RetailIngest --container WebsiteMetrics --output df_cosmos SELECT c.Action, c.Price as ItemRevenue, c.Country, c.Item FROM c
選取 [Run Active Cell] \(執行作用中資料格\),只執行此特定資料格中的命令。
建立另一個新的程式碼資料格。
在程式碼資料格中,輸出資料框架中前 10 個項目。
df_cosmos.head(10)
選取 [Run Active Cell] \(執行作用中資料格\),只執行此特定資料格中的命令。
觀察執行命令的輸出。
動作 ItemRevenue Country 項目 0 已購買 19.99 北馬其頓 扣領襯衫 1 已檢視 12.00 巴布亞紐幾內亞 項鍊 2 已檢視 25.00 斯洛伐克 (斯洛伐克共和國) 羊毛衣 3 已購買 14.00 塞內加爾 拖鞋 4 已檢視 50.00 巴拿馬 牛仔短褲 5 已檢視 14.00 塞內加爾 拖鞋 6 已新增 14.00 塞內加爾 拖鞋 7 已新增 50.00 巴拿馬 牛仔短褲 8 已購買 33.00 巴勒斯坦領土 紅色上衣 9 已檢視 30.00 馬爾他 綠色毛衣 建立另一個新的程式碼資料格。
在程式碼資料格中,匯入 pandas 套件以自訂資料框架的輸出。
import pandas as pd pd.options.display.html.table_schema = True pd.options.display.max_rows = None df_cosmos.groupby("Item").size()
選取 [Run Active Cell] \(執行作用中資料格\),只執行此特定資料格中的命令。
在輸出中,選取 [折線圖] 選項以檢視資料的不同視覺效果。
保存您的筆記本
在 [筆記本] 區段中,開啟您為此教學課程所建立筆記本的操作功能表,然後選取 [下載]。
提示
若要永久儲存您的作品,請將筆記本儲存至 GitHub 存放庫,或在工作階段結束之前,將筆記本下載至您的本機電腦。