CETAS se systémem Synapse SQL

Tip

Microsoft Fabric Data Warehouse je relační sklad v podnikovém měřítku na základu datového jezera s architekturou připravenou pro budoucnost, integrovanou AI a novými funkcemi. Pokud s datovými sklady začínáte, začněte pracovat s Fabric Data Warehouse. Stávající úlohy fondu dedikované SQL můžou upgradovat na Fabric a získat tak přístup k novým funkcím napříč datovou vědou, analýzou v reálném čase a reportováním.

K provedení následujících úloh můžete použít FUNKCI CREATE EXTERNAL TABLE AS SELECT (CETAS) ve vyhrazeném fondu SQL nebo bezserverovém fondu SQL:

  • Vytvoření externí tabulky

  • Výsledky příkazu Transact-SQL SELECT vyexportujte paralelně do:

    • Hadoop
    • Azure Storage Blob
    • Azure Data Lake Storage Gen2

CETAS ve vyhrazeném datovém fondu SQL

Informace o vyhrazeném fondu SQL, využití a syntaxi CETAS najdete v článku CREATE EXTERNAL TABLE AS SELECT . Další informace o použití CTAS s vyhrazeným fondem SQL najdete v článku CREATE TABLE AS SELECT.

CETAS v bezserverovém SQL fondu

Při použití bezserverového fondu SQL se CETAS používá k vytvoření externí tabulky a exportu výsledků dotazů do objektů blob služby Azure Storage nebo Azure Data Lake Storage Gen2.

Úplnou syntaxi najdete v tématu CREATE EXTERNAL TABLE AS SELECT (Transact-SQL).

Příklady

Tyto příklady používají CETAS k uložení celkového počtu obyvatel agregovaných podle roku a stavu do složky aggregated_data, která se nachází v population_ds zdroji dat.

Tato ukázka spoléhá na přihlašovací údaje, zdroj dat a formát externího souboru vytvořený dříve. Projděte si dokument s externími tabulkami . Pokud chcete uložit výsledky dotazu do jiné složky ve stejném zdroji dat, změňte argument LOCATION.

Pokud chcete uložit výsledky do jiného účtu úložiště, vytvořte a použijte jiný zdroj dat pro DATA_SOURCE argument.

Poznámka:

Ukázky, které následují, používají veřejný účet úložiště Azure Open Data. Je určený jen pro čtení. Pokud chcete tyto dotazy spustit, musíte zadat zdroj dat, ke kterému máte oprávnění k zápisu.

-- 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

Následující ukázka používá jako zdroj pro CETAS externí tabulku. Spoléhá na přihlašovací údaje, zdroj dat, formát externího souboru a externí tabulku vytvořenou dříve. Projděte si dokument s externími tabulkami .

-- 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

Obecný příklad

V tomto příkladu vidíme ukázkový kód šablony pro zápis CETAS s pohledem jako zdrojem a použitím spravované identity pro ověřování.

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

Podporované datové typy

CETAS lze použít k ukládání sad výsledků s následujícími datovými typy SQL:

  • binární
  • varbinary
  • char
  • varchar
  • nchar
  • nvarchar
  • smalldate
  • date
  • datetime
  • datetime2
  • datetimeoffset
  • time
  • desítkové číslo
  • numeric
  • float
  • real
  • bigint
  • tinyint
  • smallint
  • int
  • bigint
  • bit
  • peníze
  • smallmoney

Poznámka:

S CETAS nelze použít LOBy větší než 1 MB.

Další krok