hızlı başlangıç: sunucusuz SQL havuzunu kullanma
Synapse sunucusuz SQL havuzu, Azure Depolama 'ye yerleştirilmiş dosyalarda SQL sorguları çalıştırmanıza olanak tanıyan sunucusuz bir sorgu hizmetidir. bu hızlı başlangıçta, sunucusuz SQL havuzunu kullanarak çeşitli dosya türlerini sorgulamayı öğreneceksiniz. Desteklenen biçimler OPENROWSET'de listelenmiştir.
Bu hızlı başlangıçta sorgulama: CSV, Apache Parquet ve JSON dosyaları gösterilmektedir.
Önkoşullar
Sorguların gönderileceği SQL istemcisini seçin:
- Azure Synapse Studio , depolamadaki dosyalara gözatıp SQL sorguları oluşturmayı kullanabileceğiniz bir web aracıdır.
- Azure Data Studio, SQL sorgularını ve not defterini İsteğe bağlı veritabanınızda çalıştırmanızı sağlayan bir istemci aracıdır.
- SQL Server Management Studio, SQL sorgularını İsteğe bağlı veritabanınızda çalıştırmanızı sağlayan bir istemci aracıdır.
Bu hızlı başlangıç için Parametreler:
| Parametre | Açıklama |
|---|---|
| sunucusuz SQL havuzu hizmeti uç noktası adresi | Sunucu adı olarak kullanılır |
| sunucusuz SQL havuzu hizmeti uç nokta bölgesi | Örneklerde hangi depolamanın kullanılacağını belirlemek için kullanılır |
| Uç nokta erişimi için Kullanıcı adı ve parola | Uç noktaya erişmek için kullanılır |
| Görünümler oluşturmak için kullanılan veritabanı | Örneklerde başlangıç noktası olarak kullanılan veritabanı |
İlk kez kurulum
Örnekleri kullanmadan önce:
- Görünümleriniz için veritabanı oluşturma (görünümleri kullanmak istediğiniz durumlarda)
- depolama alanındaki dosyalara erişmek için sunucusuz SQL havuzu tarafından kullanılacak kimlik bilgilerini oluşturun
Veritabanı oluşturma
Tanıtım amacıyla kendi veritabanınızı oluşturun. Bu veritabanını, bu makaledeki görünümlerinizi ve örnek sorguları oluşturmak için kullanacaksınız.
Not
Veritabanları, gerçek veriler için değil yalnızca görünüm meta verileri için kullanılır. Daha sonra hızlı başlangıçta kullanmak üzere kullandığınız veritabanı adını yazın.
mydbnameSeçtiğiniz bir ada geçiş yapmak için aşağıdaki sorguyu kullanın:
CREATE DATABASE mydbname
Veri kaynağı oluştur
sunucusuz SQL havuzunu kullanarak sorguları çalıştırmak için, sunucusuz SQL havuzunun depolama alanındaki dosyalara erişmek için kullanabileceği veri kaynağı oluşturun. Bu bölümdeki örneklerde kullanılan veri kaynağını oluşturmak için aşağıdaki kod parçacığını yürütün:
-- create master key that will protect the credentials:
CREATE MASTER KEY ENCRYPTION BY PASSWORD = <enter very strong password here>
-- create credentials for containers in our demo storage account
CREATE DATABASE SCOPED CREDENTIAL sqlondemand
WITH IDENTITY='SHARED ACCESS SIGNATURE',
SECRET = 'sv=2018-03-28&ss=bf&srt=sco&sp=rl&st=2019-10-14T12%3A10%3A25Z&se=2061-12-31T12%3A10%3A00Z&sig=KlSU2ullCscyTS0An0nozEpo4tO5JAgGBvw%2FJX2lguw%3D'
GO
CREATE EXTERNAL DATA SOURCE SqlOnDemandDemo WITH (
LOCATION = 'https://sqlondemandstorage.blob.core.windows.net',
CREDENTIAL = sqlondemand
);
CSV dosyalarını sorgulama
Aşağıdaki görüntüde Sorgulanacak dosyanın önizlemesi verilmiştir:

aşağıdaki sorgu, üst bilgi satırı içermeyen bir CSV dosyasının nasıl okunacağını gösterir, Windows stili yeni satır ve virgülle ayrılmış sütunlar:
SELECT TOP 10 *
FROM OPENROWSET
(
BULK 'csv/population/*.csv',
DATA_SOURCE = 'SqlOnDemandDemo',
FORMAT = 'CSV', PARSER_VERSION = '2.0'
)
WITH
(
country_code VARCHAR (5)
, country_name VARCHAR (100)
, year smallint
, population bigint
) AS r
WHERE
country_name = 'Luxembourg' AND year = 2017
Şemayı, sorgu derleme zamanında belirtebilirsiniz. Daha fazla örnek için bkz. CSV dosyasını sorgulama.
Parquet dosyalarını sorgulama
Aşağıdaki örnek, Parquet dosyalarını sorgulamak için otomatik Şema çıkarımı özelliklerini gösterir. Şemayı belirtmeden, Eylül 2017 ' deki satır sayısını döndürür.
Not
OPENROWSET WITHParquet dosyalarını okurken yan tümce içinde sütunlar belirtmeniz gerekmez. bu durumda, sunucusuz SQL havuzu, verileri parquet dosyasında kullanır ve sütunları ada göre bağlar.
SELECT COUNT_BIG(*)
FROM OPENROWSET
(
BULK 'parquet/taxi/year=2017/month=9/*.parquet',
DATA_SOURCE = 'SqlOnDemandDemo',
FORMAT='PARQUET'
) AS nyc
Parquet dosyalarını sorgulamahakkında daha fazla bilgi edinin.
JSON dosyalarını sorgulama
JSON örnek dosyası
Dosyalar JSON kapsayıcısına, klasör kitaplarına depolanır ve aşağıdaki yapıyla tek defter girişi içerir:
{
"_id":"ahokw88",
"type":"Book",
"title":"The AWK Programming Language",
"year":"1988",
"publisher":"Addison-Wesley",
"authors":[
"Alfred V. Aho",
"Brian W. Kernighan",
"Peter J. Weinberger"
],
"source":"DBLP"
}
JSON dosyalarını sorgulama
Aşağıdaki sorgu, Cryptology 'de dayalı ve Istatistiksel Yöntemler başlığına sahip bir kitapta skalar değerler (başlık, yayımcı) almak için JSON_VALUE kullanmayı gösterir, seçilen makalelere giriş:
SELECT
JSON_VALUE(jsonContent, '$.title') AS title
, JSON_VALUE(jsonContent, '$.publisher') as publisher
, jsonContent
FROM OPENROWSET
(
BULK 'json/books/*.json',
DATA_SOURCE = 'SqlOnDemandDemo'
, FORMAT='CSV'
, FIELDTERMINATOR ='0x0b'
, FIELDQUOTE = '0x0b'
, ROWTERMINATOR = '0x0b'
)
WITH
( jsonContent varchar(8000) ) AS [r]
WHERE
JSON_VALUE(jsonContent, '$.title') = 'Probabilistic and Statistical Methods in Cryptology, An Introduction by Selected Topics'
Önemli
Tüm JSON dosyasını tek satır/sütun olarak okuyoruz. Bu nedenle, dosya içinde bulmayı beklemediğimiz için FIELDSONLANDıRıCı, FIELDQUOTE ve ROWSONLANDıRıCı, 0x0B olarak ayarlanmıştır.
Sonraki adımlar
Şimdi aşağıdaki makalelerle devam etmeye hazırsınız:
- Tek CSV dosyasını sorgula
- Sorgu klasörleri ve birden çok CSV dosyası
- Belirli dosyaları sorgula
- Parquet dosyalarını sorgulama
- Parquet iç içe türlerini sorgulama
- JSON dosyalarını sorgulama
- Görünümleri oluşturma ve kullanma
- Dış tablolar oluşturma ve kullanma
- Sorgu sonucunu Azure depolama 'ya kalıcı yap
- Tek CSV dosyasını sorgula