Lakehouse SQL 分析端點的使用案例

SQL 分析端點是在 Fabric 中以 Delta 資料為基礎、針對讀取最佳化的 T-SQL 介面。 本文說明 Lakehouse 的 SQL 分析端點如何運用 Fabric 資料庫工作負載,以及 lakehouse 在資料倉儲中的應用情境。

什麼是湖屋 SQL 分析端點?

SQL 分析端點讓你能利用 T-SQL 語言和 TDS 協定查詢湖屋中的資料。

  • SQL 分析端點會將湖屋中的 Delta 資料表以 SQL 資料表形式公開,你可以用 T-SQL 查詢。
  • 湖屋中的每個 Delta 資料表都會表示為單一資料表。 資料應為 Delta 格式。
  • 每個湖屋都有一個 SQL 分析端點,每個工作區也可以有多個湖屋。 其他 Fabric 項目——包括倉庫、鏡像資料庫、SQL 資料庫和 Azure Cosmos DB——也會自動配置 SQL 分析端點,因此工作區的 SQL 分析端點數量可能比 lakehouse 項目還多。

你不需要在 Fabric 裡建立 SQL 分析端點。 系統會針對每個 Lakehouse、資料庫或鏡像資料庫自動建立 SQL 分析端點。 SQL 分析端點作為其父項目的輕量級資料倉儲功能,補充倉庫的湖屋架構。 此架構允許 Spark 或 Fabric 鏡像控制湖屋中資料夾結構中的資料,供 SQL 分析端點查看。

Note

在幕後,SQL 分析端點使用與 Warehouse 相同的引擎,提供高效能、低延遲的 SQL 查詢。

自動元資料發現

一個無縫的流程會從 /Tables 資料夾讀取 Delta 日誌,並確保資料表的 SQL 元資料(如統計資料)始終是最新的。 無需使用者動作,也不需要匯入、複製資料或設定基礎結構。 欲了解更多資訊,請參閱 SQL 分析端點元資料同步。

湖倉架構支援的資料倉儲情境

在 Fabric 中,我們提供一個倉儲。

湖屋擁有由倉庫驅動的 SQL 分析端點,能簡化傳統的批次、串流或 lambda 架構決策樹模式。 Lakehouse 與倉儲配合運作,可啟用多種累加型分析場景。 本節將探討如何結合湖畔別墅與倉庫,打造出最先進的分析策略。

用你湖屋的黃金層進行分析

湖泊資料組織的知名策略之一是 medallion 架構。 此策略將檔案劃分為原始層(青銅層)、整合層(銀層)及精煉層(金層)。 如果檔案以 Delta Lake 格式儲存,即使檔案存放在 Microsoft Fabric OneLake 之外,你也可以使用 SQL 分析端點來分析 medallion 架構的黃金層資料。

使用 OneLake 中的捷徑,參照由 Azure Synapse Spark 或 Azure Databricks 引擎管理的外部 Azure Data Lake 儲存體帳戶中的 gold 資料夾。

你也可以新增資料倉儲,作為針對特定主題領域所設計、以主題區域或網域為導向的解決方案,以滿足客製化的分析需求。

如果你選擇將資料放在Fabric中,則始終開放,並可透過 API、Delta 格式,當然還有 T-SQL 存取。

以服務方式查詢來自 Lakehouse 的 Delta 資料表及來自 OneLake 的其他項目

分析師、資料科學家和資料工程師可能需要查詢資料湖中的資料。 在 Fabric 中,這種端到端的體驗完全是 SaaS 化的。

OneLake 是整個組織的單一、統一的邏輯資料湖。 OneLake 是適用於資料的 OneDrive。 OneLake 可包含多個工作區,例如可依照組織的各個部門來劃分。 Fabric 中的每個項目都讓資料可透過 OneLake 存取。

Fabric 湖屋中的資料會實際儲存在 OneLake 中,並採用以下資料夾結構:

  • 該 /Files 資料夾包含原始及未整合(青銅)檔案,資料工程師應在分析前處理這些檔案。 檔案可能有多種格式,如 CSV、Parquet、不同類型的圖片等等。
  • 資料夾 /Tables 包含精煉且整合(黃金版)資料,準備進行商業分析。 合併的資料為 Delta Lake 格式。

SQL 分析端點可讀取 OneLake 內 /tables 資料夾中的資料。 分析只需查詢湖屋的 SQL 分析端點即可。 除了資料倉儲之外,您還可獲得跨資料庫查詢功能,並能使用 Fabric Data Warehouse,從唯讀查詢無縫銜接到在 OneLake 資料之上建置額外的商業邏輯。

使用 Spark 進行資料工程,並使用 SQL 提供服務

資料驅動型企業需要讓後端和分析系統與面向客戶的應用程式,進行近乎即時的同步處理。 交易的影響必須透過端對端程式、相關應用程式和線上交易處理 (OLTP) 系統正確反映。

在 Fabric 中,您可以使用 Spark 串流或資料工程來整理您的資料。 你可以使用 lakehouse SQL 分析端點來驗證資料品質及現有的 T-SQL 流程。 這可以在獎章架構中完成,或在湖畔小屋的多層結構中呈現,呈現青銅、銀、金,或是陳列、精選與精緻的資料。 您可以自訂透過 Spark 建立的資料夾和資料表,以滿足您的資料工程和商務需求。 當倉庫準備好時,可以服務你所有下游的商業智慧應用及其他分析應用,無需複製資料,也不需要使用 Views 或透過 CREATE TABLE AS SELECT CTAS、儲存程序及其他 DML/DDL 指令來精煉資料。

與你開放湖屋的金色層整合

SQL 分析端點不僅限於 Fabric 湖屋中的資料分析。 透過使用 SQL 分析端點,你可以使用 Azure Synapse Spark、Azure Databricks 或其他以湖為中心的資料工程引擎,分析任何湖屋中的湖泊資料。 你可以把資料存放在 Azure Data Lake Storage 或 Amazon S3。

您隨時都可以透過任何引擎,使用開放式 API、Delta 格式,當然也包括 T-SQL,來存取 Fabric 中與 Lakehouse 的這種緊密雙向整合。

利用捷徑對外部資料湖進行資料虛擬化

使用 OneLake 捷徑,參照由 Azure Synapse Spark 或 Azure Databricks 引擎管理之外部 Azure Data Lake 儲存體帳戶中的 gold 資料夾,以及儲存在 Amazon S3 中的任何 Delta 資料表。

你可以分析任何由 SQL 分析端點捷徑參考的資料夾,並為所參考的資料建立 SQL 表格。 使用 SQL 表格來暴露外部管理的資料湖中的資料,並啟用分析功能。

這個捷徑就像一個虛擬倉庫,你可以從倉庫利用它來處理額外的下游分析需求,或直接查詢。

要分析外部資料湖儲存帳戶中的資料,請使用以下步驟:

  1. 建立參考 Azure Data Lake Storage 或 Amazon S3 帳戶中資料夾的捷徑。 輸入連線細節和憑證後,湖屋會顯示捷徑。
  2. 切換到 lakehouse 的 SQL 分析端點,找一個名稱和捷徑名稱相符的 SQL 表。 此 SQL 表格會參考 ADLS 或 S3 中的資料夾。
  3. 查詢 ADLS 或 S3 中引用資料的 SQL 表格。 使用這個表格就像你在 SQL 分析端點裡的其他表格一樣。 您可以合併引用不同儲存帳戶中資料的資料表。

Note

如果 SQL 資料表沒有立即顯示在 SQL 分析端點,請等幾分鐘。 參考外部儲存體帳戶資料的 SQL 資料表會延遲建立。

分析資料湖中的已存檔或歷史資料

資料分割是 Data Lake 中已知的資料存取最佳化技術。 將分割資料集以階層式資料夾結構儲存,格式為 /year=<year>/month=<month>/day=<day>,其中 year、 month、 是 day 分割欄位。 此結構使歷史資料在邏輯上分離,並使計算引擎能依需求透過效能過濾讀取資料,而不必讀取整個目錄及所有資料夾與檔案。

如果查詢是使用將述詞欄位與某個值進行比較的述詞來篩選,則分區資料可加快存取速度。

SQL 分析端點可輕鬆地讀取這種類型的資料,無需任何設定。 例如,您可以使用任何應用程式將資料封存到資料湖,包括 SQL Server 2022 或 Azure SQL 受控執行個體。 當你透過外部資料表將資料分割並放入湖中以作歸檔後,SQL 分析端點可以將分割的 Delta Lake 資料表讀成 SQL 資料表,並協助組織分析它們。 此方法可降低總持有成本、減少資料重複存放,並支援大數據、人工智慧及其他分析情境。

你也可以使用 時間旅行 查詢快速查詢先前版本的資料。 時間旅行是一種低成本且高效的功能,可透過 T-SQL 查詢查詢過去資料狀態。 對於湖屋 SQL 分析端點,時間旅行受限於 真空保留設定。 若要開始,請參閱 如何:在陳述式層級使用時間旅行進行查詢。

使用捷徑對 Fabric 資料實作資料虛擬化

在 Fabric 中,工作區可讓您根據複雜的商務、地理或法規需求來隔離資料。

SQL 分析端點讓你能保留資料,並透過無縫虛擬化分析倉庫或湖屋中的資料,甚至其他 Fabric 工作空間。 Fabric 中的每個湖屋都會將資料儲存在 OneLake 中。

捷徑可讓您參考任何 OneLake 位置中的資料夾。

Fabric 中的每個倉庫都會將資料表資料存放在 OneLake 中。 如果資料表是僅可附加的,則該資料表的資料會在 OneLake 中顯示為 Delta Lake 的資料。 捷徑可讓您參照任何 OneLake 中公開倉庫資料表的資料夾。

跨工作區共用與查詢

雖然工作區可讓您根據複雜的商務、地理或法規需求來隔離資料,但有時您需要針對特定分析需求來加速跨這些領域進行共用。

湖屋 SQL 分析端點能讓部門與使用者之間輕鬆共享資料,使用者可自帶容量與倉庫。 工作區可組織部門、營業單位或分析網域。 透過捷徑,使用者可以找到任何倉庫或湖屋的資料。 使用者可透過相同的共用資料,立即執行自己的自訂分析。 除了有助於部門間的費用分攤和使用量分攤外,這種做法也是資料的零複本版本。

SQL 分析端點可讓您查詢任何資料表並輕鬆共用。 你可以透過工作區角色和安全角色來新增控制項,以滿足額外的業務需求。

要啟用跨工作空間資料分析,請使用以下步驟:

  1. 建立 OneLake 快捷方式,用於引用您可存取的工作區中的資料表或資料夾。
  2. 選擇一個湖邊屋或倉庫,裡面有你想分析的表格或三角洲湖資料夾。 當你選擇表格或資料夾時,湖屋裡會出現一個捷徑。
  3. 切換到 lakehouse 的 SQL 分析端點,找到名稱與捷徑名稱相符的 SQL 資料表。 此 SQL 資料表會參考另一個工作區中的資料夾。
  4. 查詢參考另一個工作區中資料的 SQL 資料表。 你可以像使用 SQL 分析端點中的其他資料表一樣使用這個表格。 您可以聯結不同工作區中包含資料的資料表。

欲了解更多關於 SQL 分析端點安全性的資訊,請參閱 OneLake SQL 分析端點的安全性。

Note

如果 SQL 資料表沒有立即出現在 SQL 分析端點,請等幾分鐘。 參考另一個工作區中資料的 SQL 資料表會延遲建立。

分析分區資料

資料分割是 Data Lake 中已知的資料存取最佳化技術。 你將分割資料集以階層式資料夾結構儲存,格式為 /year=<year>/month=<month>/day=<day>,其中 year、 month、 day 是分割欄位。 如果查詢使用謂詞來篩選資料,透過比較謂詞欄位與值,分割資料集能更快存取資料。

SQL 分析端點可將分割的 Delta Lake 資料集呈現為 SQL 資料表,並可讓您對其進行分析。

欲了解更多關於查詢外部資料的資訊與範例,請參閱 使用 Fabric Data Warehouse 或 SQL 分析端點查詢外部資料湖檔案。 關於查詢分區 Parquet 檔案的範例與使用案例,請參見 查詢分割資料。

在湖倉、資料倉儲或事件中樞中分析資料

Lakehouse 與 Warehouse 主頁將 Eventhouse 端點納入「 分析資料」 選單中。 Eventhouse 終端節點提供由 Eventhouse 驅動的查詢體驗,直接應用於 Lakehouse 與 Warehouse 資料之上,無須資料重複或人工同步。

「分析資料」按鈕展開的截圖,可看到 SQL 分析端點和 Eventhouse 端點的選項。

當你啟用 Eventhouse 端點時,Eventhouse 和 KQL 資料庫會自動建立為來源 Lakehouse 或 Warehouse 的子項目,結構同步則在背景處理。 端點始終反映原始資料的當前結構,使得近即時的分析存取成為可能。

這種整合讓 Eventhouse 成為資料來源的自然延伸,而非需要你自行設定和管理的獨立系統。 欲了解更多關於 Eventhouse 端點的資訊,請參閱 「啟用 Eventhouse 端點用於湖屋與倉庫」。