Azure Synapse Analyticsから使いなれたSQLとUI操作でCSVデータを参照してみた

Azure Synapse Analyticsから使いなれたSQLとUI操作でCSVデータを参照してみた

データ活用ことはじめ

昨年末に一般公開(GA)されたAzure Synapse Analyticsの検証内容をご紹介します。

Azureの無料アカウントを使い、Azure Synapse Analyticsを実際に構築し、データ参照するまでを検証しました。
データ参照の検証用にCSVファイルをBLOBストレージに配置し、CSVファイルをAzure Synapse Analyticsでデータ参照します。

1.Azure Synapse Analyticsとは

Azure Synapse Analyticsは、Microsoft社からAzure上で提供されているDWH(データウェアハウス)クラウドサービスです。
以前はAzure SQL Data Warehouseと呼ばれていましたが、ユーザビリティや機能をより向上させ、Synapse Analyticsに名称が変更されました。

2.Azure Synapse Analytics環境構築

「すべてのサービス」から「Azure Synapse Analytics(ワークスペースプレビュー)」を選択し、「Synapseワークスペースの作成」ページを表示します。

「プロジェクトの詳細」および「ワークスペースの詳細」でリソースグループやワークスペース名などを設定し、「次へ:セキュリティ」をクリックします。

adwmb10_01.png

「SQL管理者の資格情報」として、管理者ユーザ名とパスワードを入力し、「次へ:ネットワーク」をクリックします。

adwmb10_02.png

今回は「すべてのIPアドレスからの接続を許可する」を選択し、「次へ:タグ」をクリックします。

adwmb10_03.png

今回は検証のための構築になるのでタグは未設定のまま「次へ:概要」をクリックします。

adwmb10_04.png

設定のサマリーを確認し、「作成」をクリックします。

adwmb10_05.png

これでAzure Synapse Analyticsの環境が作成されました。

3.Azure Synapse Studioの起動

Azure Synapse Studioは、Azure Synapse Analyticsサービスの多くのコンポーネントを操作するためのツールです。
ホームの「最近のリソース」から先ほど作成した「Synapseワークスペース」をクリックします。

adwmb10_06.png

Synapseワークスペースページの「Synapse Studioを開く」をクリックします。
(ここがメイン画面となります)

adwmb10_07.png

Synapse Studioが起動されると下記の画面が立ち上がります。
Synapse Studioを使ってデータの準備や管理ができます。

adwmb10_08.png

4.Synapse Studioからのデータ参照

次に、BLOBストレージに格納したCSVファイルをSynapse Studioから参照してみたいと思います。

データを参照する手段として、「オンデマンド方式」と「SQLプール方式」があります。
「SQLプール方式」はAzure SQL Data Warehouse時代からあった既存の方式で、実テーブルを保有し、データソースから取得した実データを格納します。
「オンデマンド方式」は新方式で、実テーブルは保持せず、外部テーブル経由でデータソースを直接参照します。
外部テーブルとは、別の場所にあるデータソースをあたかも自分のテーブルのように参照できる機能です。

今回は、新方式である「オンデマンド方式」でデータを参照してみたいと思います。
「オンデマンド方式」ではサーバレスのSQL Poolを使用します。

Synapse Studioから、「Data」→「+」→「SQL database」をクリックします。

adwmb10_09.png

ページ右側に「Create SQL database」が表示されるので、「Select SQL pool type」の「Serverless」を選択し、「Database name」を設定して「Create」ボタンをクリックします。

adwmb10_10.png

「Databases」に作成したSQLDBが表示されていることを確認します。

adwmb10_11.png

それでは、このSQL Poolを使ってデータを参照してみたいと思います。
「オンデマンド方式」では、実テーブルを作成することはできないため、外部テーブルを作成します。

まずはCSVファイルが格納されているBLOBストレージを認識するため、使い慣れたTransact-SQLで、「create extarnal data source」を使い外部データソースを作成します。

adwmb10_12.png

次にCSVファイルのフォーマットを「create extarnal file format」を使い登録します。
今回はCSVファイルのため、項目区切り(FIELD_TERMINATOR)を「,」、文字列区切り(STRING_DELIMITER)に「"」を指定します。

adwmb10_13.png

最後にCSVファイルを参照するための外部テーブルを「create extarnal table」で作成します。
作成する外部テーブル名と参照したいデータのCSVファイル名を指定します。
CSVの項目にあわせて、RDBMSでテーブルを作成するように項目名とデータ型を列挙します。

adwmb10_14.png

これで外部テーブルの設定は完了です。
外部テーブルの設定までできてしまえば、普段使い慣れたSELECT文で外部テーブルにSELECTすることでCSVデータを参照することができます。
「SELECT 項目名, 項目名・・・・ FROM 外部テーブル名」

「オンデマンド方式」では、ビューも作成できるので、複数の外部テーブルをビューでカスタマイズすることも可能です。

5.おわりに

Azure Synapse Analyticsは使い慣れたSQLとUI操作でデータ連携とデータ参照を実現することができます。
また、様々なデータのサポートやAzure Machine Learningとの連携などエンタープライズ向けの分析作業の効率化と高速化を実現します。

BI_banner01.png