Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Tip
Microsoft Fabric Data Warehouse — это реляционное хранилище корпоративного масштаба на основе озера данных, с архитектурой, готовой к будущему, встроенной ИИ и новыми функциями. Если вы не знакомы с хранилищем данных, начните с Fabric Data Warehouse. Существующие рабочие нагрузки выделенного пула SQL могут обновляться до Fabric для доступа к новым возможностям в области науки о данных, аналитики в реальном времени и отчетности.
Для выполнения следующих задач можно использовать CREATE EXTERNAL TABLE AS SELECT (CETAS) в выделенном пуле SQL или бессерверном пуле SQL.
Создание внешней таблицы
Экспортируйте результаты Transact-SQL инструкции SELECT параллельно:
- Hadoop
- служба хранилища Azure Blob
- Azure Data Lake Storage 2-го поколения
CETAS в выделенном пуле SQL
Сведения о выделенном пуле SQL, использовании и синтаксисе CETAS см. в статье CREATE EXTERNAL TABLE AS SELECT . Кроме того, для получения рекомендаций по использованию CTAS в выделенном пуле SQL см. статью CREATE TABLE AS SELECT.
CETAS в бессерверном пуле SQL
При использовании бессерверного пула SQL CETAS используется для создания внешней таблицы и экспорта результатов запроса в служба хранилища Azure BLOB-объект или Azure Data Lake Storage 2-го поколения.
Полный синтаксис см. в разделе CREATE EXTERNAL TABLE AS SELECT (Transact-SQL).
Примеры
Эти примеры используют CETAS для сохранения общего количества населения, агрегированного по годам и состоянию, в папку aggregated_data, расположенную в источнике данных population_ds.
В этом примере используются учетные данные, источник данных и формат внешнего файла, созданный ранее. Обратитесь к документу внешние таблицы. Чтобы сохранить результаты запроса в другую папку в одном источнике данных, измените аргумент LOCATION.
Чтобы сохранить результаты в другой учетной записи хранения, создайте и используйте другой источник данных для DATA_SOURCE аргумента.
Примечание
Приведенные ниже примеры используют общедоступную Azure учетную запись хранения Open Data. Он доступен только для чтения. Чтобы выполнить эти запросы, необходимо указать источник данных, для которого у вас есть разрешения на запись.
-- use CETAS to export select statement with OPENROWSET result to storage
CREATE EXTERNAL TABLE population_by_year_state
WITH (
LOCATION = 'aggregated_data/',
DATA_SOURCE = population_ds,
FILE_FORMAT = census_file_format
)
AS
SELECT decennialTime, stateName, SUM(population) AS population
FROM
OPENROWSET(BULK 'https://azureopendatastorage.dfs.core.windows.net/censusdatacontainer/release/us_population_county/year=*/*.parquet',
FORMAT='PARQUET') AS [r]
GROUP BY decennialTime, stateName
GO
-- you can query the newly created external table
SELECT * FROM population_by_year_state
В следующем примере в качестве источника для CETAS используется внешняя таблица. Он использует учетные данные, источник данных, формат внешнего файла и созданную ранее внешнюю таблицу. Обратитесь к документу внешние таблицы.
-- use CETAS with select from external table
CREATE EXTERNAL TABLE population_by_year_state
WITH (
LOCATION = 'aggregated_data/',
DATA_SOURCE = population_ds,
FILE_FORMAT = census_file_format
)
AS
SELECT decennialTime, stateName, SUM(population) AS population
FROM census_external_table
GROUP BY decennialTime, stateName
GO
-- you can query the newly created external table
SELECT * FROM population_by_year_state
Общий пример
В этом примере представлен шаблон кода для записи CETAS с представлением в качестве источника и использованием управляемого удостоверения для аутентификации.
CREATE DATABASE [<mydatabase>];
GO
USE [<mydatabase>];
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<strong password>';
CREATE DATABASE SCOPED CREDENTIAL [WorkspaceIdentity] WITH IDENTITY = 'Managed Identity';
GO
CREATE EXTERNAL FILE FORMAT [ParquetFF] WITH (
FORMAT_TYPE = PARQUET,
DATA_COMPRESSION = 'org.apache.hadoop.io.compress.SnappyCodec'
);
GO
CREATE EXTERNAL DATA SOURCE [SynapseSQLwriteable] WITH (
LOCATION = 'https://<mystoageaccount>.dfs.core.windows.net/<mycontainer>/<mybaseoutputfolderpath>',
CREDENTIAL = [WorkspaceIdentity]
);
GO
CREATE EXTERNAL TABLE [dbo].[<myexternaltable>] WITH (
LOCATION = '<myoutputsubfolder>/',
DATA_SOURCE = [SynapseSQLwriteable],
FILE_FORMAT = [ParquetFF]
) AS
SELECT * FROM [<myview>];
GO
Поддерживаемые типы данных
CETAS можно использовать для хранения результирующих наборов со следующими типами данных SQL:
- бинарный
- varbinary
- char
- varchar
- nchar
- nvarchar
- smalldate
- дата
- дата и время
- datetime2
- datetimeoffset
- время
- десятичный
- числовой
- float
- реальный
- bigint
- tinyint
- smallint
- int
- bigint
- bit
- деньги
- smallmoney
Примечание
Большие объекты (LOB) размером более 1 МБ нельзя использовать с CETAS.