サーバーレス SQL プールを使用してデータを分析する
このチュートリアルでは、サーバーレス SQL プールでデータを分析する方法について説明します。
組み込みのサーバーレス SQL プール
サーバーレス SQL プールでは、容量を予約せずに SQL を使用できます。 サーバーレス SQL プールの課金は、クエリの実行に使用されたノードの数ではなく、クエリを実行するために処理されたデータの量に基づきます。
各ワークスペースは、組み込みと呼ばれる、事前構成されたサーバーレス SQL プールを備えています。
サーバーレス SQL プールを使用してニューヨーク市のタクシー データを分析する
Note
Synapse Studio で、[開発] ハブに移動します。
新しい SQL スクリプトを作成します。
以下のコードをスクリプトに貼り付けます。 (
contosolake
をストレージ アカウントの名前に更新し、users
をコンテナーの名前に更新します。)SELECT TOP 100 * FROM OPENROWSET( BULK 'https://contosolake.dfs.core.windows.net/users/NYCTripSmall.parquet', FORMAT='PARQUET' ) AS [result]
[実行] を選択します。
データの探索は、自分のデータの基本的な特性が理解できる単純化されたシナリオにすぎません。 データの探索と分析の詳細については、こちらのチュートリアルを参照してください。
データ探索データベースを作成する
ファイルの内容は、master
データベースを介して直接参照できます。 一部の単純なデータ探索シナリオであれば、別途データベースを作成する必要はありません。
ただしデータの探索を続けていく中で、次のようなユーティリティ オブジェクトを作成するとよい場合があります。
- ストレージ アカウントの名前付き参照を表す外部データ ソース。
- 外部データ ソースへの認証方法の指定を可能にするデータベース スコープの資格情報。
- 特定のデータ ソースまたはデータベース オブジェクトへのアクセス許可を持つデータベース ユーザー。
- クエリの中で使用できるユーティリティ ビュー、プロシージャ、関数。
master
データベースを使用して、カスタム データベース オブジェクト用に別のデータベースを作成します。 カスタム データベース オブジェクトをmaster
データベースに作成することはできません。CREATE DATABASE DataExplorationDB COLLATE Latin1_General_100_BIN2_UTF8
重要
_UTF8
サフィックス付きの照合順序を使用することで、UTF-8 テキストが正しくVARCHAR
列に変換されます。 Parquet ファイルや Azure Cosmos DB コンテナーからデータを読み取るクエリでは、Latin1_General_100_BIN2_UTF8
によって最適なパフォーマンスが得られます。 照合順序の変更の詳細については、「Synapse SQL でサポートされる照合順序の種類」を参照してください。次のコマンドを使用して、データベース コンテキストを
master
からDataExplorationDB
に切り替えます。 UI コントロールの use database を使用 して、現在のデータベースに切り替えることもできます。USE DataExplorationDB
DataExplorationDB
から、資格情報やデータ ソースなどのユーティリティ オブジェクトを作成します。CREATE EXTERNAL DATA SOURCE ContosoLake WITH ( LOCATION = 'https://contosolake.dfs.core.windows.net')
Note
外部データ ソースは、資格情報なしで作成できます。 資格情報が存在しない場合は、外部データ ソースにアクセスするために呼び出し元の ID が使用されます。
必要に応じて、新しく作成された
DataExplorationDB
データベースを使用して、外部データにアクセスするDataExplorationDB
でユーザーのログインを作成します。CREATE LOGIN data_explorer WITH PASSWORD = 'My Very Strong Password 1234!';
次に、上記のログイン用に
ADMINISTER DATABASE BULK OPERATIONS
にデータベース ユーザーを作成し、DataExplorationDB
アクセス許可を付与します。CREATE USER data_explorer FOR LOGIN data_explorer; GO GRANT ADMINISTER DATABASE BULK OPERATIONS TO data_explorer; GO
相対パスとデータ ソースを使用してファイルの内容を探索します。
SELECT TOP 100 * FROM OPENROWSET( BULK '/users/NYCTripSmall.parquet', DATA_SOURCE = 'ContosoLake', FORMAT='PARQUET' ) AS [result]
ワークスペースに変更を発行します。
データ探索データベースは、ユーティリティ オブジェクトを格納できる単純なプレースホルダーにすぎません。 Synapse SQL プールでできることは他にもたくさんあります。Azure のデータ ソース上に構築されるリレーショナル レイヤー、つまり論理データ ウェアハウスを作成することもできます。 こちらのチュートリアルで論理データ ウェアハウスの構築について詳しく説明しています。