Hızlı Başlangıç: Sunucusuz SQL havuzunu kullanma
Synapse sunucusuz SQL havuzu, Azure Depolama'a yerleştirilen dosyalarda SQL sorguları çalıştırmanızı sağlayan 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'te listelenir.
Bu hızlı başlangıçta sorgulama gösterilmektedir: CSV, Apache Parquet ve JSON dosyaları.
Önkoşullar
Sorguların gönderileceği SQL istemcisini seçin:
- Azure Synapse Studio , depolamadaki dosyalara göz atmak ve SQL sorguları oluşturmak için 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 | Tanım |
---|---|
sunucusuz SQL havuzu hizmet uç noktası adresi | Sunucu adı olarak kullanılır |
sunucusuz SQL havuzu hizmet uç noktası bölgesi | Örneklerde hangi depolamayı kullanacağımızı 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üm 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 istemeniz durumunda)
- Sunucusuz SQL havuzu tarafından depolamadaki dosyalara erişmek için kullanılacak kimlik bilgileri oluşturma
Veritabanı oluşturma
Tanıtım amacıyla kendi veritabanınızı oluşturun. Bu veritabanını, görünümlerinizi oluşturmak ve bu makaledeki örnek sorgular için kullanacaksınız.
Dekont
Veritabanları yalnızca görüntüleme meta verileri için kullanılır, gerçek veriler için kullanılmaz. Daha sonra Hızlı Başlangıç'ta kullanmak için kullandığınız veritabanı adını yazın.
Aşağıdaki sorguyu kullanarak istediğiniz bir ada değiştirin mydbname
:
CREATE DATABASE mydbname
Veri kaynağı oluşturma
Sunucusuz SQL havuzunu kullanarak sorgu çalıştırmak için sunucusuz SQL havuzunun depolamadaki 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ütebilirsiniz:
-- 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=2022-11-02&ss=b&srt=co&sp=rl&se=2042-11-26T17:40:55Z&st=2024-11-24T09:40:55Z&spr=https&sig=DKZDuSeZhuCWP9IytWLQwu9shcI5pTJ%2Fw5Crw6fD%2BC8%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 yer alır:
Aşağıdaki sorgu, Üst bilgi satırı içermeyen, Windows stili yeni satır ve virgülle ayrılmış sütunlar içeren bir CSV dosyasının nasıl okunduğunu gösterir:
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
Sorgu derleme zamanında şema belirtebilirsiniz. Daha fazla örnek için bkz. CSV dosyasını sorgulama.
Parquet dosyalarını sorgulama
Aşağıdaki örnekte Parquet dosyalarını sorgulamaya yönelik otomatik şema çıkarımı özellikleri gösterilmektedir. Eylül 2017'de şema belirtmeden satır sayısını döndürür.
Dekont
Parquet dosyalarını okurken yan tümcesinde OPENROWSET WITH
sütunları belirtmeniz gerekmez. Bu durumda sunucusuz SQL havuzu Parquet dosyasındaki meta verileri 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ı sorgulama hakkında daha fazla bilgi edinin.
JSON dosyalarını sorgulama
JSON örnek dosyası
Dosyalar json kapsayıcısında, klasör kitaplarında depolanır ve aşağıdaki yapıya sahip tek kitap 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 sorguda, JSON_VALUE kullanarak Şifrelemede Olasılıksal ve İstatistiksel Yöntemler, Seçili Makalelere Göre Giriş başlıklı bir kitaptan skaler değerlerin (başlık, yayımcı) nasıl alındığı gösterilmektedir:
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
JSON dosyasının tamamını tek satır/sütun olarak okuyoruz. Bu nedenle, FIELDTERMINATOR, FIELDQUOTE ve ROWTERMINATOR 0x0b olarak ayarlanır çünkü dosyada bulmayı beklemeyiz.
Sonraki adımlar
Artık aşağıdaki makalelere devam etmeye hazırsınız:
- Tek CSV dosyasını sorgulama
- Sorgu klasörleri ve birden çok CSV dosyası
- Belirli dosyaları sorgulama
- Parquet dosyalarını sorgulama
- Sorgu Parquet iç içe türleri
- JSON dosyalarını sorgulama
- Görünümleri oluşturma ve kullanma
- Dış tabloları oluşturma ve kullanma
- Sorgu sonucunu Azure depolamada kalıcı hale getirmek
- Tek CSV dosyasını sorgulama