共用方式為


整合 OneLake 與 Azure Synapse Analytics

Azure Synapse 是一項無限的分析服務,可將企業資料倉儲與巨量資料分析彙集在一起。 本教學課程示範如何使用 Azure Synapse Analytics 連線至 OneLake。

使用 Apache Spark 從 Synapse 寫入資料

請遵循下列步驟,使用 Apache Spark 將範例資料從 Azure Synapse Analytics 寫入 OneLake。

  1. 開啟 Synapse 工作區,並使用您偏好的參數建立 Apache Spark 集區

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

  2. 建立新的 Apache Spark Notebook。

  3. 開啟 Notebook,將語言設定為 PySpark (Python),並將其連線至您新建立的 Spark 集區。

  4. 在不同的索引標籤中,瀏覽至您的 Microsoft Fabric Lakehouse,並尋找最上層的 [資料表] 資料夾。

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

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

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

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

  7. 返回 Azure Synapse Notebook,在第一個新程式碼資料格中提供 Lakehouse 路徑。 此 Lakehouse 是稍後寫入資料的位置。 執行資料格。

    # 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 讀取新載入的檔案,測試您的資料是否已成功寫入。 執行資料格。

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

恭喜。 您現在可以在 Azure Synapse Analytics 中使用 Apache Spark,於 OneLake 內讀取和寫入資料。

使用 SQL 從 Synapse 讀取資料

請遵循下列步驟,使用 SQL 無伺服器從 Azure Synapse Analytics 讀取 OneLake 的資料。

  1. 開啟 Fabric Lakehouse,並識別您想要從 Synapse 查詢的資料表。

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

  3. 複製資料表的 ABFS 路徑

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

  4. Synapse Studio 中開啟您的 Synapse 工作區。

  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 無伺服器,從 OneLake 讀取資料。