教學課程:在 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 命令來執行查詢、分析資料,以及將結果視覺化。

必要條件

建立新的 Notebook

在本節中,您將建立 Azure Cosmos 資料庫、容器,並將零售資料匯入至容器。

  1. 巡覽至 Azure Cosmos DB 帳戶並開啟資料總管

  2. 選取 [新增 Notebook]

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

  3. 在出現的確認對話方塊中,選取 [建立]

    注意

    系統會建立暫時工作區,讓您能夠使用 Jupyter Notebook。 工作階段到期時,將會移除工作區中的任何筆記本。

  4. 選取您想要用於筆記本的核心。

提示

現在,新筆記本已建立完成,您可以將筆記本重新命名為 VisualizeRetailData.ipynb 之類的名稱。

使用 SDK 建立資料庫和容器

  1. 從預設的程式碼資料格開始。

  2. 匯入本教學課程所需的任何套件。

    import azure.cosmos
    from azure.cosmos.partition_key import PartitionKey
    
  3. 使用內建 SDK 建立名為 RetailIngest 的資料庫。

    database = cosmos_client.create_database_if_not_exists('RetailIngest')
    
  4. 建立名為 WebsiteMetrics 的容器及 /CartID 分割區索引鍵。

    container = database.create_container_if_not_exists(id='WebsiteMetrics', partition_key=PartitionKey(path='/CartID'))
    
  5. 選取 [執行] 以建立資料庫和容器資源。

    Screenshot of the 'Run' option in the menu.

使用 magic 命令匯入資料

  1. 新增程式碼資料格。

  2. 在程式碼資料格中,新增下列 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
    
  3. 選取 [Run Active Cell] \(執行作用中資料格\),只執行此特定資料格中的命令。

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

    注意

    匯入命令應該需要 5-10 秒才能完成。

  4. 觀察執行命令的輸出。 確定已匯入 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
    

將資料視覺化

  1. 建立另一個新的程式碼資料格。

  2. 在程式碼資料格中,使用 SQL 查詢填入 Pandas DataFrame

    %%sql --database RetailIngest --container WebsiteMetrics --output df_cosmos
    SELECT c.Action, c.Price as ItemRevenue, c.Country, c.Item FROM c
    
  3. 選取 [Run Active Cell] \(執行作用中資料格\),只執行此特定資料格中的命令。

  4. 建立另一個新的程式碼資料格。

  5. 在程式碼資料格中,輸出資料框架中前 10 個項目。

    df_cosmos.head(10)
    
  6. 選取 [Run Active Cell] \(執行作用中資料格\),只執行此特定資料格中的命令。

  7. 觀察執行命令的輸出。

    動作 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 馬爾他 綠色毛衣
  8. 建立另一個新的程式碼資料格。

  9. 在程式碼資料格中,匯入 pandas 套件以自訂資料框架的輸出。

    import pandas as pd
    pd.options.display.html.table_schema = True
    pd.options.display.max_rows = None
    
    df_cosmos.groupby("Item").size()
    
  10. 選取 [Run Active Cell] \(執行作用中資料格\),只執行此特定資料格中的命令。

  11. 在輸出中,選取 [折線圖] 選項以檢視資料的不同視覺效果。

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

保存您的筆記本

  1. 在 [筆記本] 區段中,開啟您為此教學課程所建立筆記本的操作功能表,然後選取 [下載]

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

    提示

    若要永久儲存您的作品,請將筆記本儲存至 GitHub 存放庫,或在工作階段結束之前,將筆記本下載至您的本機電腦。

下一步