サーバーレス SQL プールを使用してデータを分析する

このチュートリアルでは、サーバーレス SQL プールでデータを分析する方法について説明します。

組み込みのサーバーレス SQL プール

サーバーレス SQL プールでは、容量を予約せずに SQL を使用できます。 サーバーレス SQL プールの課金は、クエリの実行に使用されたノードの数ではなく、クエリを実行するために処理されたデータの量に基づきます。

各ワークスペースは、組み込みと呼ばれる、事前構成されたサーバーレス SQL プールを備えています。

サーバーレス SQL プールを使用してニューヨーク市のタクシー データを分析する

  1. Synapse Studio で、 [開発] ハブに移動します。

  2. 新しい SQL スクリプトを作成します。

  3. 以下のコードをスクリプトに貼り付けます。

    SELECT
        TOP 100 *
    FROM
        OPENROWSET(
            BULK 'https://contosolake.dfs.core.windows.net/users/NYCTripSmall.parquet',
            FORMAT='PARQUET'
        ) AS [result]
    
  4. [実行] を選択します。

データの探索は、自分のデータの基本的な特性が理解できる単純化されたシナリオにすぎません。 データの探索と分析の詳細については、こちらのチュートリアルを参照してください。

データ探索データベースを作成する

ファイルの内容は、master データベースを介して直接参照できます。 一部の単純なデータ探索シナリオであれば、別途データベースを作成する必要はありません。 ただしデータの探索を続けていく中で、次のようなユーティリティ オブジェクトを作成するとよい場合があります。

  • ストレージ アカウントの名前付き参照を表す外部データ ソース。
  • 外部データ ソースへの認証方法の指定を可能にするデータベース スコープの資格情報。
  • 特定のデータ ソースまたはデータベース オブジェクトへのアクセス許可を持つデータベース ユーザー。
  • クエリの中で使用できるユーティリティ ビュー、プロシージャ、関数。
  1. 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 でサポートされる照合順序の種類」を参照してください。

  2. 次のコマンドを使用して、データベース コンテキストを master から DataExplorationDB に切り替えます。 UI コントロールの use database を使用 して、現在のデータベースに切り替えることもできます。

    USE DataExplorationDB
    
  3. DataExplorationDB から、資格情報やデータ ソースなどのユーティリティ オブジェクトを作成します。

    CREATE EXTERNAL DATA SOURCE ContosoLake
    WITH ( LOCATION = 'https://contosolake.dfs.core.windows.net')
    

    注意

    外部データ ソースは、資格情報なしで作成できます。 資格情報が存在しない場合は、外部データ ソースにアクセスするために呼び出し元の ID が使用されます。

  4. 必要に応じて、新しく作成された 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
    
  5. 相対パスとデータ ソースを使用してファイルの内容を探索します。

    SELECT
        TOP 100 *
    FROM
        OPENROWSET(
                BULK '/users/NYCTripSmall.parquet',
                DATA_SOURCE = 'ContosoLake',
                FORMAT='PARQUET'
        ) AS [result]
    
  6. ワークスペースに変更を発行します。

データ探索データベースは、ユーティリティ オブジェクトを格納できる単純なプレースホルダーにすぎません。 Synapse SQL プールでできることは他にもたくさんあります。Azure のデータ ソース上に構築されるリレーショナル レイヤー、つまり論理データ ウェアハウスを作成することもできます。 こちらのチュートリアルで論理データ ウェアハウスの構築について詳しく説明しています。

次のステップ