Tip
Microsoft Fabric Data Warehouse 是一個企業規模的關聯式倉庫,建立在資料湖基礎上,具備未來準備架構、內建 AI 及新功能。 如果你是資料倉儲新手,建議先從Fabric Data Warehouse開始。 現有的 專用 SQL 工作負載可升級至 Fabric,以取得資料科學、即時分析與報告等多項新功能。
在本文中,您將了解如何使用無伺服器 SQL 集區將查詢結果儲存至儲存體。
必要條件
您的第一個步驟是建立資料庫,您將在其中執行查詢。 然後在該資料庫上執行安裝指令碼,將物件初始化。 此安裝指令碼會建立資料來源、資料庫範圍認證,以及用來讀取這些範例中資料的外部檔案格式。
依照本文中的指示,建立資料來源、資料庫範圍認證,以及用來將資料寫入輸出儲存體的外部檔案格式。
選擇後建立外部資料表
您可以使用 CREATE EXTERNAL TABLE AS SELECT (CETAS) 陳述式將查詢結果儲存至儲存體。
注意
變更查詢中的這些值以反映您的環境:
- mydbname - 將它變更為您建立的資料庫名稱
- storage-account-sas - 您想要在其中寫入結果的記憶體帳戶共用存取簽章
- your-storage-account-name - 您要在其中寫入結果的記憶體帳戶名稱(請確定您有名為 'csv' 的容器,或您在這裡變更容器的名稱)
USE [mydbname];
GO
CREATE DATABASE SCOPED CREDENTIAL [SasTokenWrite]
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = 'storage-account-sas';
GO
CREATE EXTERNAL DATA SOURCE [MyDataSource] WITH (
LOCATION = 'https://your-storage-account-name.blob.core.windows.net/csv', CREDENTIAL = [SasTokenWrite]
);
GO
CREATE EXTERNAL FILE FORMAT [ParquetFF] WITH (
FORMAT_TYPE = PARQUET,
DATA_COMPRESSION = 'org.apache.hadoop.io.compress.SnappyCodec'
);
GO
CREATE EXTERNAL TABLE [dbo].[PopulationCETAS] WITH (
LOCATION = 'populationParquet/',
DATA_SOURCE = [MyDataSource],
FILE_FORMAT = [ParquetFF]
) AS
SELECT
*
FROM
OPENROWSET(
BULK 'csv/population-unix/population.csv',
DATA_SOURCE = 'sqlondemanddemo',
FORMAT = 'CSV', PARSER_VERSION = '2.0'
) WITH (
CountryCode varchar(4),
CountryName varchar(64),
Year int,
PopulationCount int
) AS r;
注意
您必須修改此指令碼並變更目標位置,以便再次執行。 您無法在您已經擁有某些資料的位置上建立外部資料表。
使用外部資料表
您可以像一般外部資料表一樣地使用透過 CETAS 所建立的外部資料表。
注意
變更查詢中的第一行,也就是 [mydbname],以使用您所建立的資料庫。
USE [mydbname];
GO
SELECT
CountryName, PopulationCount
FROM PopulationCETAS
WHERE
[Year] = 2019
ORDER BY
[PopulationCount] DESC;
備註
儲存結果之後,就無法修改外部數據表中的數據。 您無法重複此文稿,因為 CETAS 不會覆寫在先前執行中建立的基礎數據。
目前唯一支持的輸出類型是 Parquet 和 CSV。
相關內容
如需有關如何查詢不同檔案類型的詳細資訊,請參閱查詢單一 CSV 檔案、查詢 Parquet 檔案及查詢 JSON 檔案文章。