適用于:
Microsoft Fabric 中的倉儲
Microsoft Fabric 中的倉儲提供內建的資料擷取工具,可讓使用者使用無程式碼或程式碼豐富的體驗大規模將資料內嵌到倉儲。
Microsoft Fabric 處於
預覽狀態
。
資料擷取選項
您可以使用下列其中一個選項將資料內嵌至倉儲:
COPY (Transact-SQL) :COPY
語句提供從外部 Azure 儲存體帳戶擷取彈性的高輸送量資料。 您可以在 Transact-SQL 程式碼中使用 COPY 語句作為現有 ETL/ELT 邏輯的一部分。
資料管線:管線
提供無程式碼或低程式碼體驗來擷取資料。 使用管線,您可以協調完整擷取、轉換、載入 (ETL) 體驗的健全工作流程,包括協助準備目的地環境、執行自訂 Transact-SQL 語句、執行查閱,或將資料從來源複製到目的地。
資料流程
:資料流程替代管線,資料流程可使用無程式碼的體驗,輕鬆準備、清除和轉換資料。
跨倉儲擷取
:也可以從工作區來源擷取資料。 當需要建立具有不同資料表子集的新資料表,或在倉儲和 Lakehouse 中聯結不同資料表時,可能需要此案例。 針對跨倉儲擷取,除了上述選項之外,Transact-SQL 功能,例如
INSERT...SELECT
、
SELECT INTO
或
CREATE TABLE AS SELECT (CTAS)
相同工作區內的跨倉儲工作。
若要決定要使用的資料擷取選項,您可以使用下列準則:
使用
COPY (Transact-SQL)
語句進行程式碼豐富的資料擷取作業、可能的最高資料擷取輸送量,或當您需要將資料擷取新增為 Transact-SQL 邏輯的一部分時。 如需語法,請參閱
COPY INTO (Transact-SQL)
。
針對無程式碼或低程式碼、健全的資料擷取工作流程使用
資料管線
,這些工作流程會重複執行、排程執行,或涉及大量資料。 如需詳細資訊,請參閱
使用資料管線擷取資料
。
在擷取資料之前,使用
資料流程
進行無程式碼體驗,以允許自訂轉換來源資料。 這些轉換包括 (,但不限於) 變更資料類型、新增或移除資料行,或使用函式來產生匯出資料行。 如需詳細資訊,請參閱
資料流程
。
針對程式碼豐富的體驗使用
跨倉儲擷取
,在相同的工作區內建立具有來源資料的新資料表。 如需詳細資訊,請參閱
使用 Transact-SQL 擷取資料
並
寫入跨資料庫查詢
。
Warehouse 中的 COPY 語句僅支援 Azure 儲存體帳戶上的資料來源,使用共用存取簽章進行驗證, (SAS) 、儲存體帳戶金鑰 (SAK) ,或具有公用存取權的帳戶。 如需其他限制,請參閱
COPY (Transact-SQL)
。
Microsoft Fabric 中倉儲的資料擷取提供大量的資料格式和可用來源。 概述的每個選項都包含它自己的支援資料連線器類型和資料格式清單。
針對
跨倉儲擷取
,資料來源必須位於相同的 Microsoft Fabric 工作區內。 您可以使用來源資料的三部分命名來執行查詢。
例如,假設工作區中有兩個名為 Inventory 和 Sales 的倉儲。 查詢,例如下列查詢會在清查倉儲中建立新的資料表,其中包含清查倉儲中資料表的內容,並與 Sales 倉儲中的資料表聯結:
CREATE TABLE Inventory.dbo.RegionalSalesOrders
SELECT s.SalesOrders, i.ProductName
FROM Sales.dbo.SalesOrders s
JOIN Inventory.dbo.Products i
WHERE s.ProductID = i.ProductID
AND s.Region = 'West region'
COPY (Transact-SQL) 語句目前支援 PARQUET 和 CSV 檔案格式。 針對資料來源,目前支援Azure Data Lake Storage (ADLS) Gen2 和 Azure Blob 儲存體。
資料管線 和 資料流程 支援各種不同的資料來源和資料格式。 如需詳細資訊,請參閱 資料管線 和 資料流程。
Microsoft Fabric 中倉儲中的 COPY 命令功能會針對 SQL 工作負載的高輸送量資料擷取使用簡單、彈性且快速的介面。 在目前版本中,我們僅支援從外部儲存體帳戶載入資料。
您也可以使用 TSQL 來建立新的資料表,然後插入其中,然後更新和刪除資料列。 您可以使用跨資料庫查詢,從 Microsoft Fabric 工作區內的任何資料庫插入資料。 如果您想要將資料從 Lakehouse 內嵌到倉儲,您可以使用跨資料庫查詢來執行此動作。 例如:
INSERT INTO MyWarehouseTable
SELECT * FROM MyLakehouse.dbo.MyLakehouseTable;
避免使用單一 INSERT 語句擷取資料,因為這樣會導致查詢和更新效能不佳。 如果單一 INSERT 語句連續用於資料擷取,建議您使用 CREATE TABLE AS SELECT 建立新的資料表, (CTAS) 或 INSERT...SELECT 模式、卸載原始資料表,然後從您使用 CREATE TABLE AS SELECT 建立的資料表重新建立資料表 , (CTAS) 或 INSERT...SELECT。
在檔案上使用外部資料時,建議檔案大小至少為 4 MB。
針對大型壓縮的 CSV 檔案,請考慮將您的檔案分割成多個檔案。
Azure Data Lake Storage (ADLS) Gen2 提供比 Azure Blob 儲存體 (舊版) 更好的效能。 請考慮盡可能使用 ADLS Gen2 帳戶。
針對經常執行的管線,請考慮將 Azure 儲存體帳戶與可同時存取相同檔案的其他服務隔離。
明確交易可讓您將多個資料變更分組在一起,以便在交易完全認可時讀取一或多個資料表時才會顯示這些變更。 如果有任何變更失敗,您也能夠回復交易。
如果 SELECT 位於交易內,且前面加上資料插入, 則自動產生的統計資料 在復原之後可能會不正確。 不正確的統計資料可能會導致未優化的查詢計劃和執行時間。 如果您在大型 INSERT 之後復原具有SELECT 的交易,您可能會想要更新 SELECT 中所提及資料行的 統計資料 。
使用資料管線內嵌資料
使用 COPY 語句擷取資料
使用 Transact-SQL 擷取資料
建立您的第一個資料流程以取得和轉換資料
COPY (Transact-SQL)
CREATE TABLE AS SELECT (Transact-SQL)
INSERT (Transact-SQL)