Armazene os resultados da consulta no armazenamento usando o pool SQL sem servidor no Azure Synapse Analytics
Neste artigo, você aprenderá como armazenar os resultados da consulta no armazenamento usando o pool SQL sem servidor.
Pré-requisitos
Seu primeiro passo é criar um banco de dados onde você executará as consultas. Em seguida, inicialize os objetos executando o script de instalação nesse banco de dados. Esse script de instalação criará as fontes de dados, credenciais com escopo de banco de dados e formatos de arquivo externos usados para ler dados nesses exemplos.
Siga as instruções neste artigo para criar fontes de dados, credenciais com escopo de banco de dados e formatos de arquivo externos usados para gravar dados no armazenamento de saída.
Criar tabela externa como selecionar
Você pode usar a instrução CREATE EXTERNAL TABLE AS SELECT (CETAS) para armazenar os resultados da consulta no armazenamento.
Nota
Altere esses valores na consulta para refletir seu ambiente:
- mydbname - altere-o para o nome do banco de dados que você criou
- storage-account-sas - a assinatura de acesso compartilhado para uma conta de armazenamento onde você deseja escrever seus resultados
- your-storage-account-name - o nome da sua conta de armazenamento onde pretende escrever os resultados (certifique-se de que tem um contentor chamado 'csv' ou que altera o nome do contentor aqui também)
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;
Nota
Você deve modificar esse script e alterar o local de destino para executá-lo novamente. Não é possível criar tabelas externas no local onde você já tem alguns dados.
Usar a tabela externa
Pode utilizar a tabela externa criada através do CETAS como uma tabela externa normal.
Nota
Altere a primeira linha da consulta, ou seja, [mydbname], para que você esteja usando o banco de dados criado.
USE [mydbname];
GO
SELECT
CountryName, PopulationCount
FROM PopulationCETAS
WHERE
[Year] = 2019
ORDER BY
[PopulationCount] DESC;
Observações
Depois de armazenar os resultados, os dados na tabela externa não podem ser modificados. Não é possível repetir este script porque o CETAS não substituirá os dados subjacentes criados na execução anterior.
Os únicos tipos de saída suportados são atualmente Parquet e CSV.
Conteúdos relacionados
Para obter mais informações sobre como consultar diferentes tipos de arquivo, consulte os artigos Consultar arquivo CSV único, Consultar arquivos Parquet e Consultar arquivos JSON.