events
3月31日 23時 - 4月2日 23時
最大の Fabric、Power BI、SQL 学習イベント。 3 月 31 日から 4 月 2 日。 コード FABINSIDER を使用して $400 を保存します。
今すぐ登録このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
Synapse サーバーレス SQL プールは、Azure Storage に配置されたファイルに対して SQL クエリを実行できるようにするサーバーレス クエリ サービスです。 このクイックスタートでは、サーバーレス SQL プールを使用してさまざまな種類のファイルにクエリを実行する方法について説明します。 サポートされる形式の一覧については、「OPENROWSET」を参照してください。
このクイック スタートでは、CSV、Apache Parquet、JSON ファイルに対してクエリを実行する方法について説明します。
クエリを発行する SQL クライアントを選択します。
このクイック スタートでは、次のパラメーターを使用します。
パラメーター | 説明 |
---|---|
サーバーレス SQL プール サービス エンドポイント アドレス | サーバー名として使用されます |
サーバーレス SQL プール サービス エンドポイント リージョン | サンプルで使用するストレージを決定するために使用されます |
エンドポイント アクセスのユーザー名とパスワード | エンドポイントへのアクセスに使用されます |
ビューの作成に使用するデータベース | サンプルの開始点として使用されるデータベース |
サンプルを使用する前に、次の作業を行います。
独自のデモ用データベースを作成します。 このデータベースは、ビューの作成に使用するほか、この記事のサンプル クエリでも使用できます。
注意
このデータベースは、実際のデータではなくビューのメタデータに対してのみ使用されます。 クイックスタートで後で使用するためにデータベース名を書き留めておきます。
次の T-SQL コマンドを使用します。<mydbname>
は任意の名前に変更します。
CREATE DATABASE <mydbname>
サーバーレス SQL プールを使用してクエリを実行するには、ストレージ内のファイルにアクセスするためにサーバーレス SQL プールが使用できるデータ ソースを作成します。 次のコード スニペットを実行し、このセクションのサンプルで使用するデータ ソースを作成します。 任意の強力なパスワードで <strong-password-here>
を置き換えます。
-- create master key that will protect the credentials:
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<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
);
次の画像は、クエリを実行するファイルのプレビューを示しています。
次のクエリは、ヘッダー行を含まず、Windows スタイルの改行があり、コンマ区切りの列が存在する CSV ファイルを読み取る方法を示しています。
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
クエリのコンパイル時にスキーマを指定できます。 その他の例については、CSV ファイルに対してクエリを実行する方法を参照してください。
次のサンプルは、Parquet ファイルのクエリを実行するための自動スキーマ推論機能を示しています。 これはスキーマを指定せずに 2017 年 9 月の行の数を返します。
注意
Parquet ファイルを読み取るときに OPENROWSET WITH
句で列を指定する必要はありません。 この場合、サーバーレス SQL プールは Parquet ファイル内のメタデータを利用し、名前で列をバインドします。
SELECT COUNT_BIG(*)
FROM OPENROWSET
(
BULK 'parquet/taxi/year=2017/month=9/*.parquet',
DATA_SOURCE = 'SqlOnDemandDemo',
FORMAT='PARQUET'
) AS nyc
詳細については、「サーバーレス SQL プールを使用して Parquet ファイルに対してクエリを実行する」を参照してください。
ファイルは json コンテナーに books フォルダーを使用して格納され、次の構造を持つ 1 つの book エントリを含みます。
{
"_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_VALUE を使用して、「Probabilistic and Statistical Methods in Cryptology, An Introduction」という書籍からスカラー値 (タイトル、出版社) を取得する方法を示しています。
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'
重要
JSON ファイル全体を 1 つの行または列として読み取ります。 そのため、FIELDTERMINATOR
、FIELDQUOTE
、および ROWTERMINATOR
は、ファイル内で見つからないため、0x0b
に設定されます。
events
3月31日 23時 - 4月2日 23時
最大の Fabric、Power BI、SQL 学習イベント。 3 月 31 日から 4 月 2 日。 コード FABINSIDER を使用して $400 を保存します。
今すぐ登録トレーニング
モジュール
Azure Synapse サーバーレス SQL プールを使用してデータ レイク内のファイルに対してクエリを実行する - Training
Azure Synapse サーバーレス SQL プールを使用してデータ レイク内のファイルに対してクエリを実行する
認定資格
Microsoft Certified: Azure Cosmos DB Developer Specialty - Certifications
Microsoft Azure Cosmos DB を使用して SQL API と SDK で効率的なクエリの作成、インデックス作成ポリシーの作成、リソースの管理とプロビジョニングを行います。