從數據流 Gen1 遷移至數據流 Gen2:移轉案例
本文介紹在從 Dataflow Gen1 移轉到 Dataflow Gen2時,您可以考慮的不同遷移方案。 它也會為您提供指引和執行建議。 這些案例可能會激勵您根據業務需求和情況來判斷正確的移轉方法。
當您移轉數據流時,重要的是要超越僅僅複製現有方案來考慮其他因素。 相反地,建議您利用數據流 Gen2 的最新創新和功能,將您的解決方案現代化。 此方法可確保您的解決方案可支援企業日益增長的需求。
例如,數據流 Gen2 具有名為 快速複製的功能,這可大幅縮短擷取特定轉換和連接器數據所需的時間。 數據流 Gen2 也改善了 增量刷新,只更新變更過的數據,從而優化數據刷新程序。 這些進步不僅能提升效能和效率,還能確保您的解決方案能夠調整規模。
重要
數據流 Gen1 和數據流 Gen2 的 CPU 耗用量可能會因為許多原因而有所不同,例如在數據流 Gen2 中使用新功能,包括 lakehouse 佈建和 資料倉庫 計算。 在您移轉資料流之前,我們建議您進行深入分析,也許是作為概念驗證(POC),以量化 Dataflow Gen1 和 Dataflow Gen2 之間的 CPU 耗用差異 ,然後 再進行資料流移轉。
移轉案例
數據流提供多用途的平臺,可用來建立可調整的 ETL(擷取、轉換和載入)和 ELT(擷取、載入和轉換)解決方案,並符合從個人 BI 到
以下是三個可能啟發本文的移轉案例:
- 個人或小組使用:小型小組或個人會使用數據流來自動化數據擷取和準備工作,讓他們專注於數據分析和深入解析。 例如,小組可以使用數據流,從各種來源擷取數據,例如 Microsoft Excel 或 Microsoft SharePoint。 其數據流會根據其特定需求轉換源數據,並將其載入語意模型以供報告之用。
- 部門使用量:組織內的部門會使用數據流來管理較大的數據源和複雜的轉換。 他們可能會建立可組合的數據流,以跨部門報告提升重複使用性和一致性,確保所有小組成員都能處理相同版本的數據。
- 企業使用:在企業層級,數據流在大規模擷取多個部門的大量數據中發揮了重要作用。 它們可作為集中式數據準備層,可饋送至許多語意模型,支援廣泛的商業智慧和分析應用程式。 整個組織都受益於可靠、up-to日期的數據,進而在所有層級做出明智的決策。
在這些案例中,數據流有助於建立健全且可調整的 ETL/ELT 解決方案,以隨著小組、部門或組織的需求而成長。 設計良好的數據流可確保數據管理程式保持有效且有效。
如需使用案例的詳細資訊,請參閱 Microsoft 網狀架構實作規劃。
移轉案例 1
在此移轉案例中,組織會使用Power BI數據流來準備自助式數據,以支持個人或小組使用案例。 數據流包含在指派給 Fabric 容量的單一工作區內。
數據流建立者想要利用Dataflow Gen2的進階功能進行撰寫。 同時,他們計劃暫時在分階段移轉期間繼續使用數據流數據表作為數據源。 這種方法能確保內容建立者便捷地使用現有的 Power BI 語意模型、Excel電子表格或Dataverse資料表,並且保有連線能力,至少在轉換至受支持的數據目的地完成之前如此。
若要移轉他們的解決方案,資料流創建者:
- 如果已建立新的工作區來儲存新的數據流,請更新工作區標識符。
- 將現有解決方案從原始 (Gen1) 資料流識別碼更新為新的 (Gen2) 資料流識別碼。
以下是已更新以擷取日期維度數據表數據的範例查詢。
let
Source = PowerPlatform.Dataflows(null),
Workspaces = Source{[Id="Workspaces"]}[Data],
Workspace = Workspaces{[workspaceId="<enter new workspace ID>"]}[Data],
DataflowId = Workspace{[dataflowId="<enter new dataflow ID"]}[Data],
DimDateTable = DataflowId{[entity="DimDate", version=""]}[Data]
in
DimDateTable
提示
如果您將語意模型中的 workspaceId
和 dataflowId
值設置成參數,您可以使用群組中的 數據集 - 更新參數 REST API 作業,以程式化方式更新混搭參數的詳細資料。
重要
雖然可以使用數據流連接器 取得數據,但不建議使用 Dataflow Gen2 時使用此方法。 相反地,我們建議您使用數據目的地功能,盡可能將所有建立的數據表從 Dataflow Gen2 輸出至 Fabric 專案或其他目的地。 這是因為數據流連接器會使用基礎系統實作儲存層(稱為 DataflowsStagingLakehouse),而且可能會在新增新功能或功能時變更。
移轉案例 2
在此移轉案例中,組織會使用Power BI數據流進行自助式數據準備,以支援跨多個工作區的可組合數據流和鏈接數據表的部門使用案例。
數據流建立者想要利用 Dataflow Gen2 的進階功能來進行撰寫,同時有效率地將數據流數據表共用和輸出至 Fabric Lakehouse。 此方法會利用 OneLake 快捷方式。 OneLake 快捷方式可藉由減少傳統上與工作區間鏈接數據表相關聯的程式延遲,以及消除多餘的數據複本,來簡化解決方案管理。
若要移轉其解決方案,資料流創建者:
- 將鏈接的數據表取代為 OneLake 快捷方式,讓下游取用者能夠直接存取數據。
- 將
PowerPlatform.Dataflows
或PowerBI.Dataflows
函式取代為 Fabric 中Lakehouse.Contents
資料存取函式,以更新現有的解決方案和轉換查詢。
以下是已更新以從客戶維度數據表擷取數據的範例 PowerQuery 查詢。
let
Source = Lakehouse.Contents([]),
WorkspaceId = Source{[workspaceId="<0000aaaa-11bb-cccc-dd22-eeeeee333333>"]}[Data],
LakehouseId = WorkspaceId{[lakehouseId="1111bbbb-22cc-dddd-ee33-ffffff444444"]}[Data],
DimCustomerTable = LakehouseId{[Id="DimCustomer", ItemKind="Table"]}[Data]
in
DimCustomerTable
注意
您可以使用 XMLA 端點,以及更新資料表的分區 M 運算式,以程式的方式編輯發佈至 Fabric 的 Power BI 語義模型中的查詢表達式。
不過,請注意,一旦您使用 XMLA 端點來修改語意模型,您就無法從 Power BI 服務下載該模型。
移轉案例 3
在此移轉案例中,組織會使用Power BI數據流進行自助數據準備,以支援跨多個工作區的可組合數據流的部門使用案例。
數據流建立者想要利用 Dataflow Gen2 的進階功能來進行撰寫,同時從具有細微使用者許可權的網狀架構倉儲輸出和共用數據流數據表。 此方法提供彈性,而且數據存取可以透過 數據列層級安全性 (RLS)、資料行層級安全性 (CLS)實作,以及 動態數據遮罩 (DDM)。
若要移轉其解決方案,數據流建立者:
- 透過 SQL 計算引擎 細微許可權授與數據存取權,,藉由限制特定數據表和架構的存取,以及實作 RLS 和 CLS,為特定使用者提供更選擇性的存取權。
- 使用 Fabric 中的數據存取函式取代
PowerPlatform.Dataflows
或PowerBI.Dataflows
Fabric.Warehouse
函式,以更新現有的解決方案和轉換查詢。
以下是已更新以從客戶維度數據表擷取數據的範例 PowerQuery 查詢。
let
Source = Fabric.Warehouse([]),
WorkspaceId = Source{[workspaceId="0000aaaa-11bb-cccc-dd22-eeeeee333333"]}[Data],
WarehouseId = WorkspaceId{[warehouseId="1111bbbb-22cc-dddd-ee33-ffffff444444"]}[Data],
DimCustomerTable = WarehouseId{[Schema="dbo", Item="DimCustomer"]}[Data]
in
DimCustomerTable
移轉指引
建議您整理您資料流和相關項目的清單。 我們也建議您考慮使用Power Query 範本。
庫存
為了協助您規劃移轉,您的第一個步驟是清查您的數據流,以及相依於這些數據流的所有下游解決方案。 識別相依項目有助於避免停機與運作中斷。
-
數據流作為 Power BI 中的來源
- 使用 數據流 - 取得群組中的上游數據流 REST API 作業,以識別使用連結表格的數據流之間的譜系和依賴關係。 值得注意的是,鏈接數據表的深度最多可達32個參考。
- 或者,您可以使用 Semantic Link Labs
list_upstream_dataflows
函式,簡化以遞歸方式呼叫Get Upstream Dataflows In Group
REST API 作業的程式。 函式會逐一查看所有鏈接的數據流,直到遇到具有空白值的記錄為止,指出鏈結的結尾。
- 或者,您可以使用 Semantic Link Labs
- 使用 系統管理員 - 數據集 GetDatasetToDataflowsLinksInGroupAsAdmin REST API 作業,編譯使用工作區內需要更新之數據流的 Power BI 語意模型清查。
- 使用 Microsoft Fabric 掃描器 APIs,從租戶中的語意模型擷取混搭查詢表達式。 然後,您可以搜尋資料流 ID 的表達式,以了解整個租戶中的完整譜系。
- 使用 數據流 - 取得群組中的上游數據流 REST API 作業,以識別使用連結表格的數據流之間的譜系和依賴關係。 值得注意的是,鏈接數據表的深度最多可達32個參考。
-
Power Apps 中作為來源的數據流
- 從應用程式解決方案
的 Power Platform 資料流 的資料流表存取混搭查詢表示式。 然後,您可以搜尋任何數據流標識碼的表達式,以瞭解租用戶內應用程式的完整譜系。 若要瞭解如何在 Microsoft Dataverse 上執行的 Dynamics 365 內安裝及管理應用程式,請參閱 管理 Power Apps。
- 從應用程式解決方案
- 在 Excel 中
數據流作為來源 - 雖然 Excel 活頁簿沒有 REST API 來追蹤譜系和相依性,但您可以使用 Visual Basic for Applications (VBA) 和 WorkbookConnection 物件 來判斷連接字符串是否包含
Provider=Microsoft.Mashup.OleDb.1
文字,這表示 Power Query 連線。 此外,您可以使用 WorkbookQuery.Formula 屬性來擷取 Power Query 公式。 - 追蹤數據流歷程之後,建議您更新 Excel for Fabric 專案中的現有數據流連線,如下所示:
- 若要存取 Fabric lakehouse、warehouse 或 SQL Database 的 SQL 分析端點,請使用 SQL Server 連接器,其使用
Sql.Database
數據存取函式。 - 若要存取 Fabric Lakehouse 檔案內容,請使用 Azure Data Lake Gen2 記憶體連接器,其會使用
AzureStorage.DataLake
數據存取函式。 - 若要存取 Fabric eventhouse 資料庫,請使用 Azure 數據總管連接器,其會使用
AzureDataExplorer.Contents
數據存取函式。
- 若要存取 Fabric lakehouse、warehouse 或 SQL Database 的 SQL 分析端點,請使用 SQL Server 連接器,其使用
- 雖然 Excel 活頁簿沒有 REST API 來追蹤譜系和相依性,但您可以使用 Visual Basic for Applications (VBA) 和 WorkbookConnection 物件 來判斷連接字符串是否包含
Power Query 範本
Power Query 範本 簡化在不同 Power Query 整合環境之間傳遞專案的流程。 它們可協助簡化其他可能很複雜且耗時的工作。 範本會將整個 Power Query 專案,包括腳本和元數據封裝成單一可攜式檔案。
Power Query 範本的設計與各種整合相容,例如 Power BI 數據流 (Gen1) 和網狀架構數據流 (Gen2),可確保這些服務之間的順暢轉換。
相關內容
如需本文的詳細資訊,請參閱下列資源:
- 從數據流 Gen1 遷移至數據流 Gen2
- 布料定價
- 問題? 嘗試詢問網狀架構社群
- 建議? 貢獻想法以改善平台
Fabric 合作夥伴可以協助您的組織成功完成遷移過程。 若要與網狀架構合作夥伴互動,請瀏覽 Fabric 合作夥伴入口網站。