移轉:Azure Synapse Analytics 專用 SQL 集區至 Fabric
適用於✅:Microsoft Fabric 的倉儲
本文詳細說明將 Azure Synapse Analytics 專用 SQL 集區中的資料倉儲移轉至 Microsoft Fabric Warehouse 的策略、考量和方法。
移轉簡介
Microsoft 引進了 Microsoft Fabric,這是一個適用於企業的多合一 SaaS 分析解決方案,提供了一套完整的服務,包括Data Factory、資料工程、資料倉儲、資料科學、即時智慧和 Power BI。
本文著重於以下選項:結構描述 (DDL) 移轉、資料庫程式碼 (DML) 移轉和資料移轉。 Microsoft 提供數個選項,在本文中,我們會詳細討論每個選項,並提供您應在您的案例考慮哪些選項的指導。 本文使用 TPC-DS 產業基準進行說明和效能測試。 您的實際結果可能會依據許多因素而有所不同,包括資料的類型、資料類型、資料表的寬度、資料來源延遲等。
為移轉做準備
在開始之前,請先仔細規劃移轉專案,並確定您的結構描述、程式碼和資料與 Fabric Warehouse 相容。 您需要考慮一些限制。 量化不相容項目的重構工作,以及移轉傳遞之前所需的任何其他資源。
規劃的另一個重要目標是調整您的設計,以確保您的解決方案充分利用 Fabric Warehouse 旨在提供的高查詢效能。 根據規模設計資料倉儲引進了獨特的設計模式,因此傳統方法並不一定是最佳方法。 檢閱 Fabric Warehouse 效能指導方針,因為雖然移轉之後可以進行一些設計調整,但在程序中盡早變更可節省您的時間和精力。 從一個技術/環境移轉至另一個技術/環境始終是一項主要工作。
下圖描述了移轉生命週期,其中列出主要要素,包含評定和評估、規劃和設計、移轉、監視及管理、最佳化和現代化,以及每個要素中的相關工作,以規劃和準備順暢移轉。
用於移轉的 Runbook
請將下列活動視為規劃 Runbook,以便從 Synapse 專用 SQL 集區移轉至 Fabric Warehouse。
- 評定和評估
- 識別目標和動機。 建立明確的所需結果。
- 探索、評定現有結構,並建立相關基準。
- 識別主要利害關係人和贊助者。
- 定義要移轉內容的範圍。
- 從小規模且簡單的內容著手,準備多個小型移轉。
- 開始監視及記錄程序的所有階段。
- 建置要移轉的資料和程序詳細目錄。
- 定義資料模型變更 (若有的話)。
- 設定 Fabric Workspace。
- 您的技能/喜好設定為何?
- 盡可能自動化。
- 使用 Azure 內建工具和功能來減少移轉工作。
- 盡早在新平台上培訓員工。
- 識別提升技能需求和訓練資產,包括 Microsoft Learn。
- 規劃和設計
- 定義所需結構。
- 選取移轉的方法/工具,以完成下列工作:
- 從來源進行資料擷取。
- 結構描述 (DDL) 轉換,包括資料表和檢視的中繼資料
- 資料擷取,包括歷程記錄資料。
- 如有必要,使用新的平台效能和可擴縮性,重新設計資料模型。
- 資料庫程式碼 (DML) 移轉。
- 遷移或重構預存程序和業務流程。
- 清查並擷取來源的安全性功能和物件權限。
- 設計和規劃取代/修改現有的 ETL/ELT 累加式載入流程。
- 為新環境建立平行 ETL/ELT 程序。
- 準備詳細的移轉方案。
- 將目前狀態對應至新的預期狀態。
- 移轉
- 執行結構描述、資料、程式碼移轉。
- 從來源進行資料擷取。
- 結構描述 (DDL) 轉換
- 資料提取
- 資料庫程式碼 (DML) 移轉。
- 如有必要,請暫時相應擴展專用 SQL 集區資源,以提高移轉速度。
- 套用安全性和權限。
- 移轉現有的 ETL/ELT 累加式載入流程。
- 遷移或重構 ETL/ELT 增量負載流程。
- 測試並比較平行遞增載入流程。
- 視需要調整詳細的移轉方案。
- 執行結構描述、資料、程式碼移轉。
- 監視及管理
- 平行執行,與來源環境進行比較。
- 測試應用程式、商業智慧平台和查詢工具。
- 基準和最佳化查詢效能。
- 監視及管理成本、安全性和效能。
- 治理基準及評定。
- 平行執行,與來源環境進行比較。
- 最佳化和現代化
- 當業務狀況良好時,將應用程式和主要報告平台轉換為 Fabric。
- 隨著工作負載從 Azure Synapse Analytics 轉換為 Microsoft Fabric,相應擴大/縮小資源。
- 根據獲得的經驗,為將來的移轉建置可重複的範本。 反覆運算。
- 識別成本最佳化、安全性、可擴縮性和卓越營運的機會
- 識別使用最新的 Fabric 功能將您的資料資產現代化的機會。
- 當業務狀況良好時,將應用程式和主要報告平台轉換為 Fabric。
「隨即轉移」或現代化?
一般而言,不論計劃的移轉目的和範圍為何,移轉案例都有兩種類型:按現況隨即轉移及包含結構和程式碼變更的階段式方法。
隨即轉移
在隨即轉移遷移中,現有的資料模型會隨著新 Fabric Warehouse 的次要變更而移轉。 此方法只需少量的新工作就能實現移轉的優點,進而將風險和移轉時間降到最低。
隨即轉移移轉適合下列案例:
- 您的現有環境只有少量資料超市要遷移。
- 您現有環境中的資料已經是設計良好的星形或雪花式結構描述。
- 要移動至 Fabric Warehouse,您面臨著時間和成本壓力。
綜上所述,此方法適用於使用您目前 Synapse 專用 SQL 集區環境進行最佳化的工作負載,因此不需要在 Fabric 中進行重大變更。
藉助結構變更,以階段式方法進行現代化
如果舊版資料倉儲已發展很長一段時間,您可能需要重新設計以維持所需的效能等級。
您可能還想重新設計結構,以利用 Fabric 工作區中可用的新引擎和功能。
設計差異:Synapse 專用 SQL 集區和 Fabric Warehouse
請考慮下列 Azure Synapse 和 Microsoft Fabric 資料倉儲差異,比較專用 SQL 集區與 Fabric Warehouse。
資料表考量
當您在不同環境之間移轉資料表時,通常只有未經處理資料和實際移轉的中繼資料。 來源系統的其他資料庫元素 (例如索引) 通常不會移轉,因為它們在新的環境中可能不必要,或會以不同的方式實作。
來源環境中的效能最佳化 (例如索引) 會指出您可以在新環境中新增效能最佳化的位置,但現在 Fabric 會自動為您處理。
T-SQL 考量
有幾個資料操作語言 (DML) 語法差異需要注意。 請參閱 Microsoft Fabric 中的 T-SQL 介面區。 另外,在選擇資料庫程式碼 (DML) 移轉方法時,也請考慮程式碼評定。
根據移轉時的同位差異,您可能需要重寫部分 T-SQL DML 程式碼。
資料類型對應差異
Fabric Warehouse 中有數個資料類型差異。 如需詳細資訊,請參閱 Microsoft Fabric 中的資料類型。
下表提供從 Synapse 專用 SQL 集區到 Fabric Warehouse 的支援的資料類型的對應。
Synapse 專用 SQL 集區 | Fabric Warehouse |
---|---|
money | decimal(19,4) |
smallmoney | decimal(10,4) |
smalldatetime | datetime2 |
datetime | datetime2 |
NCHAR | char |
nvarchar | varchar |
TINYINT | SMALLINT |
binary | varbinary |
datetimeoffset* | datetime2 |
* Datetime2 不會儲存儲存的額外時區位移資訊。 由於 Fabric Warehouse 目前不支援 datetimeoffset 資料類型,因此時區位移資料需要擷取到個別資料行。
結構描述、程式碼和資料移轉方法
檢閱並識別其中哪個選項適合您的案例、員工技能及資料的特性。 選擇的選項取決於您的體驗、喜好設定及每個工具的優點。 我們的目標是繼續開發移轉工具,以減少摩擦和手動介入,進而實現順暢移轉體驗。
下表摘要說明資料結構描述 (DDL)、資料庫程式碼 (DML) 和資料移轉方法的資訊。 在本文稍後部分,我們會連結 [選項] 資料行,進一步展開每個案例。
選項號碼 | 選項 | 作用 | 技能/喜好設定 | 案例 |
---|---|---|---|---|
1 | Data Factory | 結構描述 (DDL) 轉換 資料擷取 資料提取 |
ADF/管線 | 簡易多合一結構描述 (DDL) 和資料移轉。 建議用於維度資料表。 |
2 | 包含分割區的 Data Factory | 結構描述 (DDL) 轉換 資料擷取 資料提取 |
ADF/管線 | 使用資料分割選項來增加讀取/寫入平行處理原則,相較於選項 1,可提供 10 倍的輸送量,建議用於事實資料表。 |
3 | 包含加速程式碼的 Data Factory | 結構描述 (DDL) 轉換 | ADF/管線 | 先轉換及移轉結構描述 (DDL),然後使用 CETAS 擷取資料,及 COPY/Data Factory 內嵌資料,進而獲得最佳整體擷取效能。 |
4 | 預存程序加速程式碼 | 結構描述 (DDL) 轉換 資料擷取 程式碼評定 |
T-SQL | 使用 IDE 的 SQL 使用者,可更細微地控制他們想要處理的工作。 使用 COPY/Data Factory 內嵌資料。 |
5 | Azure Data Studio 的 SQL 資料庫專案延伸項目 | 結構描述 (DDL) 轉換 資料擷取 程式碼評定 |
SQL 專案 | SQL 資料庫專案,可整合選項 4 進行部署。 使用 COPY 或 Data Factory 內嵌資料。 |
6 | CREATE EXTERNAL TABLE AS SELECT (CETAS) | 資料擷取 | T-SQL | 將符合成本效益的高效能資料擷取到 Azure Data Lake Storage (ADLS) Gen2。 使用 COPY/Data Factory 內嵌資料。 |
7 | 使用 dbt 移轉 | 結構描述 (DDL) 轉換 資料庫程式碼 (DML) 轉換 |
dbt | 現有的 dbt 使用者可使用 dbt Fabric 配接器來轉換其 DDL 和 DML。 然後,您必須使用此資料表中的其他選項來移轉資料。 |
選擇初始移轉的工作負載
當您決定從何處開始 Synapse 專用 SQL 集區到 Fabric Warehouse 移轉專案時,請選擇一個工作負載區域,而您可以在其中:
- 透過快速提供新環境的優勢,證明移轉至 Fabric Warehouse 的可行性。 從小規模且簡單的內容著手,準備多個小型移轉。
- 可讓內部技術人員有時間透過移轉其他區域時所使用的程序和工具,獲得相關體驗。
- 建立範本,以利未來執行專屬於來源 Synapse 環境,以及已就緒工具和程序的移轉。
提示
建立需要移轉的物件詳細目錄,並記錄整個移轉流程 (從開始到結束),以便針對其他專用 SQL 集區或工作負載進行重複。
初始移轉中移轉的資料量應該夠大,才能示範 Fabric Warehouse 環境的功能和優點,但也不能太大而無法快速展現價值。 1-10 TB 範圍內的大小是典型大小。
使用 Fabric Data Factory 進行移轉
在本節中,我們會討論熟悉 Azure Data Factory 和 Synapse 管線的低程式碼/無程式碼角色使用 Data Factory 的選項。 此拖放 UI 選項提供簡單的步驟來轉換 DDL 及移轉資料。
Fabric Data Factory 可以執行下列工作:
- 將結構描述 (DDL) 轉換為 Fabric Warehouse 語法。
- 在 Fabric Warehouse 上建立結構描述 (DDL)。
- 將資料移轉至 Fabric Warehouse。
選項 1。 結構描述/資料移轉 - 複製精靈和 ForEach 複製活動
此方法使用 Data Factory 複製助理連線至來源專用 SQL 集區、將專用 SQL 集區 DDL 語法轉換為 Fabric,並將資料複製到 Fabric Warehouse。 您可以選取 1 或多個目標資料表 (針對 TPC-DS 資料集,有 22 個資料表)。 它會產生 ForEach,以迴圈查看 UI 中選取的資料表清單,並繁衍 22 個平行複製活動執行緒。
- 在專用 SQL 集區中產生並執行 22 個 SELECT 查詢 (每個選取的資料表各一個)。
- 請確定您擁有適當的 DWU 和資源類別,以允許執行產生的查詢。 針對此案例,您至少需要
staticrc10
個 DWU1000,才能允許最多 32 個查詢來處理提交的 22 個查詢。 - Data Factory 將資料從專用 SQL 集區直接複製到 Fabric Warehouse 需要檢閱及測試。 擷取程序包含兩個階段。
- 第一個階段包含將資料從專用 SQL 集區擷取至 ADLS,並稱為檢閱及測試。
- 第二個階段包含將資料從檢閱及測試內嵌至 Fabric Warehouse。 大部分的資料擷取時間都處於檢閱及測試階段。 綜上所述,檢閱及測試對擷取效能會有很大的影響。
建議使用
使用複製精靈產生 ForEach 提供了簡單的 UI,可一步轉換 DDL 並將選取的資料表從專用 SQL 集區內嵌至 Fabric Warehouse。
不過,整體輸送量並非最佳。 使用檢閱及測試的需求,「來源到階段」步驟的平行讀取和寫入,是效能延遲的主要因素。 建議只針對維度資料表使用此選項。
選項 2。 DDL/資料移轉 - 使用分割區選項的資料管線
若要使用 Fabric 資料管線提供輸送量,以載入較大型的事實資料表,建議對每個包含分割區選項的事實資料表使用複製活動。 這為複製活動提供了最佳效能。
您可以選擇使用來源資料表實體資料分割 (如果有的話)。 如果資料表沒有實體資料分割,您必須指定分割區資料行,並提供最小值/最大值,以使用動態資料分割。 在下列螢幕擷取畫面中,資料管線 [來源] 選項會根據 ws_sold_date_sk
資料行指定分割區的動態範圍。
雖然使用分割區可以增加檢閱及測試階段的輸送量,但仍需要考慮適當調整:
- 根據您的分割區範圍,其可能會使用所有並行位置,因為它可能會在專用 SQL 集區上產生超過 128 個查詢。
- 您需要調整到至少為 DWU6000,才能執行所有查詢。
- 例如,針對 TPC-DS
web_sales
資料表,會有 163 個查詢提交至專用 SQL 集區。 DWU6000 時,會執行 128 個查詢,同時有 35 個查詢排入佇列。 - 動態分割區會自動選取定界分割。 在此案例中,每個提交至專用 SQL 集區的 SELECT 查詢的範圍為 11 天。 例如:
WHERE [ws_sold_date_sk] > '2451069' AND [ws_sold_date_sk] <= '2451080') ... WHERE [ws_sold_date_sk] > '2451333' AND [ws_sold_date_sk] <= '2451344')
建議使用
針對事實資料表,我們建議搭配使用 Data Factory 和資料分割選項來增加輸送量。
不過,增加的平行讀取需要專用 SQL 集區調整至較高的 DWU,以允許執行擷取查詢。 利用資料分割,速率會比沒有分割區選項提高 10 倍。 您可以增加 DWU 以透過計算資源取得額外的輸送量,但專用 SQL 集區最多允許 128 個作用中查詢。
注意
如需有關 Synapse DWU 至 Fabric 對應的詳細資訊,請參閱部落格:將 Azure Synapse 專用 SQL 集區對應至 Fabric 資料倉儲計算。
選項 3。 DDL 移轉 - 複製精靈 ForEach 複製活動
上述兩個選項是較小型資料庫的絕佳資料移轉選項。 但是,如果您需要較高的輸送量,我們建議使用替代選項:
- 將資料從專用 SQL 集區擷取至 ADLS,因此可降低階段效能額外負荷。
- 使用 Data Factory 或 COPY 命令,將資料內嵌至 Fabric Warehouse。
建議使用
您可以繼續使用 Data Factory 來轉換結構描述 (DDL)。 使用複製精靈,您可以選取特定的資料表或所有資料表。 根據設計,這會一步移轉結構描述和資料,在查詢語句中使用 false 條件 TOP 0
,擷取不含任何資料列的結構描述。
下列程式碼範例涵蓋使用 Data Factory 的結構描述 (DDL) 移轉。
程式碼範例:使用 Data Factory 的結構描述 (DDL) 移轉
您可以使用 Fabric 資料管線,輕鬆地從任何來源 Azure SQL 資料庫或專用 SQL 集區移轉資料表物件的 DDL (結構描述)。 此資料管線會將來源專用 SQL 集區資料表的結構描述 (DDL) 移轉至 Fabric Warehouse。
管線設計:參數
此資料管線接受參數 SchemaName
,可讓您指定要移轉的結構描述。 dbo
結構描述是預設值。
在 [預設值] 欄位中,輸入以逗號分隔的資料表結構描述清單,指出要移轉的結構描述:'dbo','tpch'
提供兩個結構描述 dbo
和 tpch
。
管線設計:查閱活動
建立查閱活動,並將 [連線] 設定為指向來源資料庫。
在 [設定] 索引標籤中:
將 [資料存放區類型] 設定為 [外部]。
[連線] 是 Azure Synapse 專用 SQL 集區。 [連線類型]是 [Azure Synapse Analytics]。
[使用查詢] 設定為 [查詢]。
[查詢] 欄位需要使用動態運算式來建置,允許在傳回目標來源資料表清單的查詢中使用參數 SchemaName。 選取 [查詢],然後選取 [新增動態內容]。
查詢活動內的此運算式會產生 SQL 陳述式,以查詢系統檢視表,進而擷取結構描述和資料表的清單。 參考 SchemaName 參數,以允許篩選 SQL 結構描述。 此輸出是 SQL 結構描述和資料表的陣列,且將做為 ForEach 活動的輸入。
使用下列程式碼傳回具有其結構描述名稱的所有使用者資料表清單。
@concat(' SELECT s.name AS SchemaName, t.name AS TableName FROM sys.tables AS t INNER JOIN sys.schemas AS s ON t.type = ''U'' AND s.schema_id = t.schema_id AND s.name in (',coalesce(pipeline().parameters.SchemaName, 'dbo'),') ')
管線設計:ForEach 迴圈
針對 ForEach 循環,在 [設定] 索引標籤中設定下列選項:
- 停用 [循序] 以允許多個反覆項目並行執行。
- 將 [批次計數] 設定為
50
,限制並行反覆項目的數目上限。 - [項目] 欄位需要使用動態內容來參考查閱活動的輸出。 使用下列程式碼片段:
@activity('Get List of Source Objects').output.value
管線設計:ForEach 迴圈內的複製活動
在 ForEach 活動內,新增複製活動。 此方法會使用資料管線內的動態運算式語言來建置 SELECT TOP 0 * FROM <TABLE>
,以僅移轉結構描述而不將資料移轉至 Fabric Warehouse。
在 [來源] 索引標籤中:
- 將 [資料存放區類型] 設定為 [外部]。
- [連線] 是 Azure Synapse 專用 SQL 集區。 [連線類型]是 [Azure Synapse Analytics]。
- 將 [使用查詢] 設定為 [查詢]。
- 在 [查詢] 欄位中,貼上動態內容查詢並使用此運算式,其會傳回零個資料列,僅會傳回資料表結構描述:
@concat('SELECT TOP 0 * FROM ',item().SchemaName,'.',item().TableName)
在 [目的地] 索引標籤中:
- 將 [資料存放區類型] 設定為 [工作區]。
- 工作區資料存放區類型為資料倉儲,而 [資料倉儲] 設定為 Fabric Warehouse。
- 目的地資料表的結構描述和資料表名稱是使用動態內容定義的。
- 結構描述是指目前反覆項目的欄位,包含片段的 SchemaName:
@item().SchemaName
- 資料表會參考包含片段的 TableName:
@item().TableName
- 結構描述是指目前反覆項目的欄位,包含片段的 SchemaName:
管線設計:接收器
針對 [接收器],會指向您的 Warehouse,並參考來源結構描述和資料表名稱。
執行此管線之後,您會看到資料倉儲已填入來源中的每個資料表,並具有適當的結構描述。
使用 Synapse 專用 SQL 集區中的預存程序進行移轉
此選項使用預存程序來執行 Fabric 移轉。
您可以在 GitHub.com 的 microsoft/fabric-migration 上取得程式碼範例。 此程式碼會作為開放原始碼進行共用,因此您可以隨意參與共同作業並協助社群。
移轉預存程序可以執行的動作:
- 將結構描述 (DDL) 轉換為 Fabric Warehouse 語法。
- 在 Fabric Warehouse 上建立結構描述 (DDL)。
- 將資料從 Synapse 專用 SQL 集區擷取至 ADLS。
- 標記 T-SQL 程式碼的非支援 Fabric 語法 (預存程序、函式、檢視)。
建議使用
對於以下人員而言,為絕佳選項:
- 熟悉 T-SQL。
- 想要使用整合式開發環境,例如 SQL Server Management Studio (SSMS)。
- 想要更細微地控制他們想要處理的工作。
您可以執行結構描述 (DDL) 轉換、資料擷取或 T-SQL 程式碼評定的特定預存程序。
對於資料移轉,您需要使用 COPY INTO 或 Data Factory 將資料內嵌至 Fabric Warehouse。
使用 SQL 資料庫專案移轉
Azure Data Studio 和 Visual Studio Code 內提供的 SQL 資料庫專案延伸項目支援 Microsoft Fabric 資料倉儲。
此延伸項目可於 Azure Data Studio 和 Visual Studio Code 內取得。 此功能可啟用原始檔控制、資料庫測試和結構描述驗證的功能。
如需有關 Microsoft Fabric 中倉儲的原始檔控制的詳細資訊,包括 Git 整合和部署管線,請參閱使用 Warehouse 進行原始檔控制。
建議使用
對於偏好使用 SQL 資料庫專案進行部署的人員來說,這是一個絕佳選項。 此選項基本上已將 Fabric 移轉預存程序整合到 SQL 資料庫專案中,以提供順暢移轉體驗。
SQL 資料庫專案可以:
- 將結構描述 (DDL) 轉換為 Fabric Warehouse 語法。
- 在 Fabric Warehouse 上建立結構描述 (DDL)。
- 將資料從 Synapse 專用 SQL 集區擷取至 ADLS。
- 標記 T-SQL 程式碼的非支援語法 (預存程序、函式、檢視)。
對於資料移轉,您會使用 COPY INTO 或 Data Factory 將資料內嵌至 Fabric Warehouse。
為新增 Azure Data Studio 對 Fabric 的支援性,Microsoft Fabric CAT 團隊提供了一組 PowerShell 指令碼,可透過 SQL 資料庫專案來處理結構描述 (DDL) 和資料庫程式碼 (DML) 的擷取、建立和部署。 如需搭配使用 SQL 資料庫專案與實用 PowerShell 指令碼的逐步解說,請參閱 GitHub.com 上的 microsoft/fabric-migration。
如需有關 SQL 資料庫專案的詳細資訊,請參閱開始使用 SQL Database Projects 延伸項目及建置和發佈專案。
使用 CETAS 移轉資料
T-SQL CREATE EXTERNAL TABLE AS SELECT (CETAS) 命令提供最符合成本效益的最佳方法,可將資料從 Synapse 專用 SQL 集區擷取至 Azure Data Lake Storage (ADLS) Gen2。
CETAS 可以執行的動作:
- 將資料擷取至 ADLS。
- 此選項需要使用者在 Fabric Warehouse 上建立結構描述 (DDL),之後才能內嵌資料。 考慮本文中的選項,以移轉結構描述 (DDL)。
此選項的優點是:
- 每個資料表僅會針對來源 Synapse 專用 SQL 集區提交單一查詢。 這不會用盡所有並行位置,因此不會封鎖並行客戶生產 ETL/查詢。
- 不需要調整為 DWU6000,因為每個資料表僅會使用單一並行位置,因此客戶可以使用較低的 DWU。
- 擷取會跨所有計算節點平行執行,而這是效能改進的關鍵。
建議使用
使用 CETAS 將資料做為 Parquet 檔案擷取至 ADLS。 Parquet 檔案藉助單欄式壓縮提供有效率的資料儲存體優勢,只需較少的頻寬即可跨網路移動。 此外,由於 Fabric 會將資料儲存為 Delta Parquet 格式,因此相較於文字檔格式,資料擷取速度會快 2.5 倍,因為擷取期間不會有轉換為 Delta 格式的額外負荷。
若要增加 CETAS 輸送量:
- 新增平行 CETAS 作業,增加使用的並行位置,但允許更多輸送量。
- 調整 Synapse 專用 SQL 集區上的 DWU。
透過 dbt 移轉
在本節中,我們會針對已在目前 Synapse 專用 SQL 集區環境中使用 dbt 的客戶討論 dbt 選項。
dbt 可以執行的動作:
- 將結構描述 (DDL) 轉換為 Fabric Warehouse 語法。
- 在 Fabric Warehouse 上建立結構描述 (DDL)。
- 將資料庫程式碼 (DML) 轉換為 Fabric 語法。
dbt 架構會在每次執行時,即時產生 DDL 和 DML (SQL 指令碼)。 使用以 SELECT 陳述式表示的模型檔案,DDL/DML 可以藉由變更設定檔 (連接字串) 和配接器類型,立即轉譯為任何目標平台。
建議使用
dbt 架構是 Code First 方法。 必須使用本文件中所列的選項來移轉資料,例如 CETAS 或 COPY/Data Factory。
適用於 Microsoft Fabric Synapse 資料倉儲的 dbt 配接器,可讓以不同平台 (例如 Synapse 專用 SQL 集區、Snowflake、Databricks、Google Big Query 或 Amazon Redshift) 為目標的現有 dbt 專案移轉至具有簡單組態變更的 Fabric Warehouse。
若要開始使用以 Fabric Warehouse 為目標的 dbt 專案,請參閱教學課程:設定適用於 Fabric 資料倉儲的 dbt。 本文件還會列出在不同倉儲/平台之間移動的選項。
資料擷取至 Fabric Warehouse
若要擷取至 Fabric Warehouse,請使用 COPY INTO 或 Fabric Data Factory,視您的喜好設定而定。 這兩種方法都是建議且效能最佳的選項,因為它們具有對等的效能輸送量,前提是檔案已擷取至 Azure Data Lake Storage (ADLS) Gen2。
需要注意的幾個因素,讓您可以設計流程以達到最大效能:
- 若使用 Fabric,將多個資料表從 ADLS 同時載入至 Fabric Warehouse 時,沒有任何資源爭用。 因此,載入平行執行緒時,效能不會降低。 最大擷取輸送量僅會受限於 Fabric 容量的計算能力。
- Fabric 工作負載管理會提供配置給載入和查詢的資源區隔。 查詢和資料載入同時執行時,不會有任何資源爭用。