教學課程:使用 Azure Cosmos DB 端點實作 Azure Databricks

本教學課程說明如何實作 VNet 插入的 Databricks 環境,並啟用 Azure Cosmos DB 的服務端點。

在本教學課程中,您將瞭解如何:

  • 在虛擬網路中建立 Azure Databricks 工作區
  • 建立 Azure Cosmos DB 服務端點
  • 建立 Azure Cosmos DB 帳戶並匯入資料
  • 建立 Azure Databricks 叢集
  • 從 Azure Databricks 筆記本查詢 Azure Cosmos DB

Prerequisites

開始之前,請執行下列動作:

建立 Azure Cosmos DB 服務端點

  1. 將 Azure Databricks 工作區部署至虛擬網路之後,請流覽至Azure 入口網站中的虛擬網路。 請注意透過 Databricks 部署建立的公用和私人子網。

  2. 選取 公用子網 並建立 Azure Cosmos DB 服務端點。 然後 儲存

    新增 Cosmos DB 服務端點

建立 Azure Cosmos DB 帳戶

  1. 開啟Azure 入口網站。 在畫面左上角,選取 [建立資源 > 資料庫 > Azure Cosmos DB]。

  2. 使用下列設定,填寫 [基本] 索引標籤上的[實例詳細資料]:

    設置 價值
    訂閱 您的訂用帳戶
    資源群組 您的資源群組
    帳戶名稱 db-vnet-service-endpoint
    Api Core (SQL)
    位置 美國西部
    Geo-Redundancy 禁用
    多區域寫入 使

    新增 Cosmos DB 基本帳戶資訊

  3. 選取 [ 網路] 索引標籤並設定您的虛擬網路。

    a. 選擇您建立為必要條件的虛擬網路,然後選取 [公用子網]。 請注意, 私人子網 有「 Microsoft AzureCosmosDB」端點遺失」的附注。 這是因為您只啟用 公用子網上的 Azure Cosmos DB 服務端點。

    B。 請確定您已啟用[允許從Azure 入口網站存取]。 此設定可讓您從Azure 入口網站存取 Azure Cosmos DB 帳戶。 如果此選項設定為 [拒絕],當您嘗試存取您的帳戶時,您會收到錯誤。

    注意

    本教學課程不需要,但如果您想要從本機電腦存取 Azure Cosmos DB 帳戶的能力,您也可以啟用 [允許從我的 IP 存取]。 例如,如果您要使用 Azure Cosmos DB SDK 連線到您的帳戶,則需要啟用此設定。 如果停用,您會收到「拒絕存取」錯誤。

    Cosmos DB 帳戶網路設定

  4. 選取 [檢閱 + 建立],然後選取 [ 建立 ] 以在虛擬網路內建立您的 Azure Cosmos DB 帳戶。

  5. 建立 Azure Cosmos DB 帳戶之後,請流覽至 [設定] 底下的[金鑰]。 複製主要連接字串,並將其儲存在文字編輯器中以供稍後使用。

    Cosmos DB 帳戶金鑰頁面

  6. 選取[Data Explorer] 和 [新增容器],將新的資料庫和容器新增至您的 Azure Cosmos DB 帳戶。

    Cosmos DB 新集合

將資料上傳至 Azure Cosmos DB

  1. 開啟 Azure Cosmos DB 資料移轉工具的圖形化介面版本, Dtui.exe

    Cosmos DB 資料移轉工具

  2. 在 [來源資訊] 索引標籤上,在 [匯入] 下拉式清單中選取[CSV 檔案] (s) 。 然後選取 [新增檔案 ],然後新增您下載的 Storm 資料 CSV 作為必要條件。

    Cosmos DB 資料移轉工具來源資訊

  3. 在 [ 目標資訊] 索引 標籤上,輸入您的連接字串。 連接字串格式為 AccountEndpoint=<URL>;AccountKey=<key>;Database=<database> 。 AccountEndpoint 和 AccountKey 會包含在您在上一節中儲存的主要連接字串中。 附加 Database=<your database name> 至連接字串結尾,然後選取 [ 驗證]。 然後,新增容器名稱和分割區索引鍵。

    Cosmos DB 資料移轉工具目標資訊

  4. 選取 [下一步 ],直到您進入 [摘要] 頁面為止。 然後,選取 [ 匯入]。

建立叢集並新增程式庫

  1. 流覽至Azure 入口網站中的 Azure Databricks 服務,然後選取 [啟動工作區]。

  2. 建立新的叢集。 選擇 [叢集名稱],並接受其餘的預設設定。

    新增叢集設定

  3. 建立叢集之後,流覽至叢集頁面,然後選取 [ 程式庫] 索引卷 標。選取 [安裝新增 ] 並上傳 Spark 連接器 jar 檔案以安裝程式庫。

    安裝 Spark 連接器程式庫

    您可以確認程式庫已安裝在 [連結 ] 索引標籤上。

    Databricks 叢集程式庫索引標籤

從 Databricks 筆記本查詢 Azure Cosmos DB

  1. 流覽至您的 Azure Databricks 工作區,並建立新的 Python 筆記本。

    建立新的 Databricks 筆記本

  2. 執行下列 Python 程式碼來設定 Azure Cosmos DB 連線組態。 據以變更 EndpointMasterkeyDatabaseContainer

    connectionConfig = {
      "Endpoint" : "https://<your Azure Cosmos DB account name.documents.azure.com:443/",
      "Masterkey" : "<your Azure Cosmos DB primary key>",
      "Database" : "<your database name>",
      "preferredRegions" : "West US 2",
      "Container": "<your container name>",
      "schema_samplesize" : "1000",
      "query_pagesize" : "200000",
      "query_custom" : "SELECT * FROM c"
    }
    
  3. 使用下列 Python 程式碼載入資料並建立暫存檢視。

    users = spark.read.format("com.microsoft.azure.cosmosdb.spark").options(**connectionConfig).load()
    users.createOrReplaceTempView("storm")
    
  4. 使用下列 magic 命令來執行傳回資料的 SQL 語句。

    %sql
    select * from storm
    

    您已成功將 VNet 插入 Databricks 工作區連線到已啟用服務端點的 Azure Cosmos DB 資源。 若要深入瞭解如何連線到 Azure Cosmos DB,請參閱 適用于 Apache Spark 的 Azure Cosmos DB 連接器

清除資源

不再需要時,請刪除資源群組、Azure Databricks 工作區和所有相關資源。 刪除作業可避免不必要的計費。 如果您打算在未來使用 Azure Databricks 工作區,您可以停止叢集,稍後再重新開機。 如果您不打算繼續使用此 Azure Databricks 工作區,請使用下列步驟刪除您在本教學課程中建立的所有資源:

  1. 從Azure 入口網站左側功能表中,按一下 [資源群組],然後按一下您建立的資源群組名稱。

  2. 在資源群組頁面上,選取 [ 刪除],在文字方塊中輸入要刪除的資源名稱,然後再次選取 [ 刪除 ]。

後續步驟

在本教學課程中,您已將 Azure Databricks 工作區部署至虛擬網路,並使用 Azure Cosmos DB Spark 連接器從 Databricks 查詢 Azure Cosmos DB 資料。 若要深入瞭解如何在虛擬網路中使用 Azure Databricks,請繼續進行搭配 Azure Databricks 使用SQL Server的教學課程。