Azure Synapse Analytics'da sunucusuz SQL havuzu kullanarak sorgu sonuçlarını depolama alanına kaydedin.

Tip

Microsoft Fabric Data Warehouse geleceğe hazır mimariye, yerleşik yapay zekaya ve yeni özelliklere sahip data lake foundation üzerinde kurumsal ölçekli ilişkisel bir ambardır. Veri ambarı konusunda yeniyseniz Fabric Data Warehouse ile başlayın. Mevcut özel SQL havuzu iş yükleri, veri bilimi, gerçek zamanlı analiz ve raporlama genelinde yeni özelliklere erişmek için Fabric yükseltilebilir.

Bu makalede sunucusuz SQL havuzunu kullanarak sorgu sonuçlarını depolamaya depolamayı öğreneceksiniz.

Prerequisites

İlk adımınız sorguları yürüteceğiniz bir veritabanı oluşturmaktır . Ardından bu veritabanında setup betiği 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.

Dış tabloyu seç olarak oluştur

Sorgu sonuçlarını depolamada depolamak için CREATE EXTERNAL TABLE AS SELECT (CETAS) deyimini kullanabilirsiniz.

Note

Sorgudaki bu değerleri ortamınızı yansıtacak şekilde değiştirin:

  • mydbname - oluşturduğunuz veritabanının adıyla değiştirin
  • storage-account-sas - Sonuçlarınızı yazmak istediğiniz depolama hesabının paylaşılan erişim imzası
  • your-storage-account-name - Sonuçlarınızı yazmak istediğiniz depolama hesabınızın adı ('csv' adlı bir kapsayıcınız olduğundan veya kapsayıcının adını da burada değiştirdiğinizden emin olun)
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;

Note

Bu betiği değiştirip hedef konumu değiştirerek tekrar çalıştırmanız gerekir. Dış tablolar, zaten bazı verilerin bulunduğu konumda oluşturulamaz.

Dış tabloyu kullanma

CETAS aracılığıyla oluşturulan dış tabloyu normal bir dış tablo gibi kullanabilirsiniz.

Note

Oluşturduğunuz veritabanını kullanmak için sorgudaki ilk satırı ([mydbname] ) 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ğı için bu betiği yineleyemezsiniz.

Desteklenen tek çıkış türleri şu anda Parquet ve CSV'dir.

Farklı dosya türlerini sorgulama hakkında daha fazla bilgi için Tek CSV dosyasını sorgulama, Sorgu Parquet dosyaları ve Sorgu JSON dosyaları makalelerine bakın.