整合 OneLake 與 Azure Databricks

此案例示範如何透過 Azure Databricks 連線至 OneLake。 完成本教學課程之後,您將能從 Azure Databricks 工作區讀取和寫入 Microsoft Fabric Lakehouse。

必要條件

在連線之前,您必須擁有:

  • Fabric 工作區和 Lakehouse。
  • 進階版 Azure Databricks 工作區。 只有進階版 Azure Databricks 工作區支援此案例所需的 Microsoft Entra 認證傳遞。

設定 Databricks 工作區

  1. 開啟您的 Azure Databricks 工作區,然後選取 [建立叢集]>

  2. 若要使用 Microsoft Entra 身分識別向 OneLake 進行驗證,您必須在 [進階選項] 中啟用叢集上的 Azure Data Lake Storage (ADLS) 認證傳遞。

    顯示在 [進階選項] 畫面中選取 [建立叢集] 位置的螢幕擷取畫面。

    注意

    您也可以使用服務主體將 Databricks 連線至 OneLake。 如需使用服務主體驗證 Azure Databricks 的詳細資訊,請參閱管理服務主體 (機器翻譯)。

  3. 使用您偏好的參數建立叢集。 如需建立 Databricks 叢集的詳細資訊,請參閱設定叢集 - Azure Databricks

  4. 開啟 Notebook,並將其連線至新建立的叢集。

撰寫 Notebook

  1. 瀏覽至您的 Fabric Lakehouse,並將 Azure Blob Filesystem (ABFS) 路徑複製到您的 Lakehouse。 您可以在 [屬性] 窗格中找到路徑。

    注意

    當讀取和寫入 ADLS Gen2 和 OneLake 時,Azure Databricks 僅支援 Azure Blob Filesystem (ABFS) 驅動程式:abfss://myWorkspace@onelake.dfs.fabric.microsoft.com/

  2. 在 Databricks Notebook 中儲存 Lakehouse 的路徑。 此 Lakehouse 是您稍後寫入已處理資料的位置:

    oneLakePath = 'abfss://myWorkspace@onelake.dfs.fabric.microsoft.com/myLakehouse.lakehouse/Files/'
    
  3. 從 Databricks 公用資料集中將資料載入資料框架。 您也可以從 Fabric 中的其他位置讀取檔案,或從已經擁有的另一個 ADLS Gen2 帳戶中選擇檔案。

    yellowTaxiDF = spark.read.format("csv").option("header", "true").option("inferSchema", "true").load("/databricks-datasets/nyctaxi/tripdata/yellow/yellow_tripdata_2019-12.csv.gz")
    
  4. 篩選、轉換或準備您的資料。 在此案例中,您可以修剪資料集以加快載入速度、與其他資料集聯結,或篩選出特定結果。

    filteredTaxiDF = yellowTaxiDF.where(yellowTaxiDF.fare_amount<4).where(yellowTaxiDF.passenger_count==4)
    display(filteredTaxiDF)
    
  5. 使用 OneLake 路徑,將篩選的資料框架寫入 Fabric Lakehouse。

    filteredTaxiDF.write.format("csv").option("header", "true").mode("overwrite").csv(oneLakePath)
    
  6. 藉由讀取新載入的檔案,測試您的資料是否已成功寫入。

    lakehouseRead = spark.read.format('csv').option("header", "true").load(oneLakePath)
    display(lakehouseRead.limit(10))
    

恭喜。 您現在可以使用 Azure Databricks 在 Fabric 中讀取和寫入資料。