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。
打開你的 Azure Synapse 工作區,並建立一個包含你偏好參數的 Apache Spark 池。
建立新的 Apache Spark Notebook。
打開筆記本,將語言設定為 PySpark (Python),並連接到你新建立的 Spark 池。
在另一個索引標籤中,移至你的 Fabric Lakehouse,並找出最上層的 Tables 資料夾。
以滑鼠右鍵按一下 [資料表]資料夾,然後選取 [屬性]。
從 [屬性] 窗格複製 ABFS 路徑。
回到 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'在一個新的程式碼儲存格中,將 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 的新 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 的資料。
開啟 Fabric Lakehouse,並找出你要從 Azure Synapse 查詢的資料表。
以滑鼠右鍵按一下資料表,然後選取 [屬性]。
複製資料表的 ABFS 路徑。
喺Azure Synapse Studio開啟你嘅Azure Synapse workspace。
建立新 SQL 指令碼。
在 SQL 查詢編輯器中輸入下列查詢,並使用您稍早複製的路徑取代
ABFS_PATH_HERE。SELECT TOP 10 * FROM OPENROWSET( BULK 'ABFS_PATH_HERE', FORMAT = 'delta') as rows;執行查詢以檢視資料表的前 10 個資料列。
恭喜。 你現在可以在 Azure Synapse Analytics 使用 SQL serverless 讀取 OneLake 的資料。
相關內容
將 OneLake 與 Azure 儲存體總管