Azure Synapse Analytics'te sunucusuz SQL havuzunu kullanarak sorgu sonuçlarını depolamaya depolama
Bu makalede sunucusuz SQL havuzunu kullanarak sorgu sonuçlarını depolamaya depolamayı öğreneceksiniz.
Önkoşullar
İlk adımınız sorguları yürüteceğiniz bir veritabanı oluşturmaktır . Ardından bu veritabanında kurulum betiğini yürüterek nesneleri başlatın. Bu kurulum betiği, bu örneklerdeki verileri okumak için kullanılan veri kaynaklarını, veritabanı kapsamlı kimlik bilgilerini ve dış dosya biçimlerini oluşturur.
Çıktı depolama alanına veri yazmak için kullanılan veri kaynakları, veritabanı kapsamlı kimlik bilgileri ve dış dosya biçimleri oluşturmak için bu makaledeki yönergeleri izleyin.
Seçme olarak dış tablo oluşturma
Sorgu sonuçlarını depolama alanına depolamak için CREATE EXTERNAL TABLE AS SELECT (CETAS) deyimini kullanabilirsiniz.
Not
Oluşturduğunuz veritabanını kullanmak için sorgudaki ilk satırı ([mydbname] gibi) değiştirin.
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;
Not
Bu betiği değiştirmeniz ve yeniden yürütmek için hedef konumu değiştirmeniz gerekir. Dış tablolar, zaten bazı verileriniz olan konumda oluşturulamaz.
Dış tabloyu kullanma
CETAS aracılığıyla oluşturulan dış tabloyu normal bir dış tablo gibi kullanabilirsiniz.
Not
Oluşturduğunuz veritabanını kullanmak için sorgudaki ilk satırı ([mydbname] gibi) değiştirin.
USE [mydbname];
GO
SELECT
CountryName, PopulationCount
FROM PopulationCETAS
WHERE
[Year] = 2019
ORDER BY
[PopulationCount] DESC;
Açıklamalar
Sonuçlarınızı depoladıktan sonra dış tablodaki veriler değiştirilemez. CETAS önceki yürütmede oluşturulan temel verilerin üzerine yazmayacağından bu betiği yineleyemezsiniz. Senaryolarınızda bunlardan bazıları gerekliyse aşağıdaki geri bildirim öğelerine oy verin veya Azure geri bildirim sitesinde yenilerini önerin:
- Dış tabloya yeni veri eklemeyi etkinleştirme
- Dış tablodan veri silmeyi etkinleştirme
- CETAS'ta bölümleri belirtme
- Dosya boyutlarını ve sayılarını belirtme
Desteklenen tek çıkış türleri Parquet ve CSV'dir. Azure geri bildirim sitesinde diğer türler için oy vekleyebilirsiniz.
Sonraki adımlar
Farklı dosya türlerini sorgulama hakkında daha fazla bilgi için Tek CSV dosyasını sorgulama, Parquet dosyalarını sorgulama ve JSON dosyalarını sorgulama makalelerine bakın.