Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
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.