將 OneLake 與 Azure Synapse Analytics 整合

Azure Synapse 是一項無限的分析服務,結合企業資料倉儲與大數據分析。 這個教學示範如何使用 Azure Synapse Analytics 連接 OneLake。

先決條件

開始之前,請確定您有下列項目:

  • 可存取 Azure Synapse 工作空間,在那裡你可以建立或使用 Apache Spark 池並執行 SQL 腳本。
  • 通往 Fabric 的湖邊別墅。
  • Lakehouse Tables 資料夾或你想查詢的資料表的 ABFS 路徑。

使用 Apache Spark 從 Azure Synapse 寫入資料

請依照以下步驟使用 Apache Spark 從 Azure Synapse Analytics 撰寫範例資料到 OneLake。

  1. 打開你的 Azure Synapse 工作區,並建立一個包含你偏好參數的 Apache Spark 池。

    顯示在 Apache Spark 集區畫面中選取 [新增] 之位置的螢幕擷取畫面。

  2. 建立新的 Apache Spark Notebook。

  3. 打開筆記本,將語言設定為 PySpark (Python),並連接到你新建立的 Spark 池。

  4. 在另一個索引標籤中,移至你的 Fabric Lakehouse,並找出最上層的 Tables 資料夾。

  5. 以滑鼠右鍵按一下 [資料表]資料夾,然後選取 [屬性]。

    顯示開啟 [屬性] 窗格 Lakehouse 總管位置的螢幕擷取畫面。

  6. 從 [屬性] 窗格複製 ABFS 路徑。

    顯示複製 ABFS 路徑之位置的螢幕擷取畫面。

  7. 回到 Azure Synapse 筆記本,於第一個新代碼單元中提供 lakehouse 路徑。 這條路徑指向湖屋裡的 Tables 資料夾,之後你會在那裡寫取樣資料。 執行儲存格。

    # Replace the path below with the ABFS path to your lakehouse Tables folder. 
    oneLakePath = 'abfss://WorkspaceName@onelake.dfs.fabric.microsoft.com/LakehouseName.lakehouse/Tables'
    
  8. 在一個新的程式碼儲存格中,將 Azure 開放資料集的資料載入資料框。 此資料集是您匯入 Lakehouse 的資料集中之一。 執行儲存格。

    yellowTaxiDf = spark.read.parquet('wasbs://nyctlc@azureopendatastorage.blob.core.windows.net/yellow/puYear=2018/puMonth=2/*.parquet')
    display(yellowTaxiDf.limit(10))
    
  9. 在新的代碼單元中篩選、轉換或準備您的資料。 在此案例中,您可以修剪資料集以加快載入速度、與其他資料集聯結,或篩選出特定結果。 執行儲存格。

    filteredTaxiDf = yellowTaxiDf.where(yellowTaxiDf.tripDistance>2).where(yellowTaxiDf.passengerCount==1)
    display(filteredTaxiDf.limit(10))
    
  10. 在新的程式碼單元格中,使用 OneLake 路徑,將篩選後的資料框寫入 Fabric Lakehouse 的新 Delta-Parquet 表。 執行儲存格。

    filteredTaxiDf.write.format("delta").mode("overwrite").save(oneLakePath + '/Taxi/')
    
  11. 最後,在新的程式碼格中,透過讀取 OneLake 的新 Delta 表格來測試你的資料是否成功寫入。 執行儲存格。

    lakehouseRead = spark.read.format('delta').load(oneLakePath + '/Taxi/')
    display(lakehouseRead.limit(10))
    

恭喜。 你現在可以在 Azure Synapse Analytics 中使用 Apache Spark 在 OneLake 中讀寫資料。

使用 SQL 從 Azure Synapse 讀取資料

請依照以下步驟使用 SQL Serverless 從 Azure Synapse Analytics 讀取 OneLake 的資料。

  1. 開啟 Fabric Lakehouse,並找出你要從 Azure Synapse 查詢的資料表。

  2. 以滑鼠右鍵按一下資料表,然後選取 [屬性]。

  3. 複製資料表的 ABFS 路徑。

    顯示複製 ABFS 路徑之位置的螢幕擷取畫面。

  4. 喺Azure Synapse Studio開啟你嘅Azure Synapse workspace。

  5. 建立新 SQL 指令碼。

  6. 在 SQL 查詢編輯器中輸入下列查詢,並使用您稍早複製的路徑取代 ABFS_PATH_HERE。

    SELECT TOP 10 *
    FROM OPENROWSET(
    BULK 'ABFS_PATH_HERE',
    FORMAT = 'delta') as rows;
    
  7. 執行查詢以檢視資料表的前 10 個資料列。

恭喜。 你現在可以在 Azure Synapse Analytics 使用 SQL serverless 讀取 OneLake 的資料。

  • 將 OneLake 與 Azure 儲存體總管