다음을 통해 공유


Azure Synapse Analytics에서 서버리스 SQL 풀을 사용하여 스토리지에 쿼리 결과 저장

이 문서에서는 서버리스 SQL 풀을 사용하여 쿼리 결과를 스토리지에 저장하는 방법을 알아봅니다.

필수 조건

첫 번째 단계는 쿼리를 실행할 데이터베이스 만들기입니다. 그런 다음 해당 데이터베이스에서 설치 스크립트를 실행하여 개체를 초기화합니다. 이 설치 스크립트는 이러한 샘플의 데이터를 읽는 데 사용되는 데이터 원본, 데이터베이스 범위 자격 증명 및 외부 파일 형식을 만듭니다.

이 문서의 지침에 따라 출력 스토리지에 데이터를 쓰는 데 사용되는 데이터 원본, 데이터베이스 범위 자격 증명 및 외부 파일 형식을 만듭니다.

선택 항목으로 외부 테이블 만들기

CREATE EXTERNAL TABLE AS SELECT(CETAS) 문을 사용하여 스토리지에 쿼리 결과를 저장할 수 있습니다.

참고 항목

쿼리의 첫 번째 줄(예: [mydbname])을 변경하여 사용자가 만든 데이터베이스를 사용합니다.

USE [mydbname];
GO

CREATE DATABASE SCOPED CREDENTIAL [SasTokenWrite]
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
     SECRET = 'sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-04-18T20:42:12Z&st=2019-04-18T12:42:12Z&spr=https&sig=lQHczNvrk1KoYLCpFdSsMANd0ef9BrIPBNJ3VYEIq78%3D';
GO

CREATE EXTERNAL DATA SOURCE [MyDataSource] WITH (
    LOCATION = 'https://<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는 이전 실행에서 만든 기본 데이터를 덮어쓰지 않으므로 이 스크립트를 반복할 수 없습니다. 시나리오에서 이러한 항목 중 일부가 필요한 경우 다음 피드백 항목에 투표하거나 Azure 피드백 사이트에서 새 항목을 제안하세요.

유일하게 지원되는 출력 형식은 Parquet 및 CSV입니다. Azure 피드백 사이트에서 다른 유형에 투표할 수 있습니다.

다음 단계

다른 파일 형식을 쿼리하는 방법에 대한 자세한 내용은 단일 CSV 파일 쿼리, Parquet 파일 쿼리JSON 파일 쿼리 문서를 참조하세요.