整合 OneLake 與 Azure Synapse Analytics
Azure Synapse 是一項無限的分析服務,可將企業資料倉儲與巨量資料分析彙集在一起。 本教學課程示範如何使用 Azure Synapse Analytics 連線至 OneLake。
使用 Apache Spark 從 Synapse 寫入資料
請遵循下列步驟,使用 Apache Spark 將範例資料從 Azure Synapse Analytics 寫入 OneLake。
開啟 Synapse 工作區,並使用您偏好的參數建立 Apache Spark 集區。
建立新的 Apache Spark Notebook。
開啟 Notebook,將語言設定為 PySpark (Python),並將其連線至您新建立的 Spark 集區。
在不同的索引標籤中,瀏覽至您的 Microsoft Fabric Lakehouse,並尋找最上層的 [資料表] 資料夾。
以滑鼠右鍵按一下 [資料表]資料夾,然後選取 [屬性]。
從 [屬性] 窗格複製 ABFS 路徑。
返回 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'
在新的程式碼資料格中,從 Azure 開放資料集將資料載入資料框架。 此資料集是您載入 Lakehouse 的資料集之一。 執行資料格。
yellowTaxiDf = spark.read.parquet('wasbs://nyctlc@azureopendatastorage.blob.core.windows.net/yellow/puYear=2018/puMonth=2/*.parquet') display(yellowTaxiDf.limit(10))
在新的程式碼資料格中篩選、轉換或準備您的資料。 在此案例中,您可以修剪資料集以加快載入速度、與其他資料集聯結,或篩選出特定結果。 執行資料格。
filteredTaxiDf = yellowTaxiDf.where(yellowTaxiDf.tripDistance>2).where(yellowTaxiDf.passengerCount==1) display(filteredTaxiDf.limit(10))
在新的程式碼資料格中使用您的 OneLake 路徑,將篩選的資料框架寫入 Fabric Lakehouse 中的新 Delta-Parquet 資料表。 執行資料格。
filteredTaxiDf.write.format("delta").mode("overwrite").save(oneLakePath + '/Taxi/')
最後,在新的程式碼資料格中,從 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 的資料。
開啟 Fabric Lakehouse,並識別您想要從 Synapse 查詢的資料表。
以滑鼠右鍵按一下資料表,然後選取 [屬性]。
複製資料表的 ABFS 路徑。
在 Synapse Studio 中開啟您的 Synapse 工作區。
建立新 SQL 指令碼。
在 SQL 查詢編輯器中輸入下列查詢,並使用您稍早複製的路徑取代
ABFS_PATH_HERE
。SELECT TOP 10 * FROM OPENROWSET( BULK 'ABFS_PATH_HERE', FORMAT = 'delta') as rows;
執行查詢以檢視資料表的前 10 個資料列。
恭喜。 您現在可以在 Azure Synapse Analytics 中使用 SQL 無伺服器,從 OneLake 讀取資料。