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ワークスペースの作成」ページを表示します。
「プロジェクトの詳細」および「ワークスペースの詳細」でリソースグループやワークスペース名などを設定し、「次へ:セキュリティ」をクリックします。
「SQL管理者の資格情報」として、管理者ユーザ名とパスワードを入力し、「次へ:ネットワーク」をクリックします。
今回は「すべてのIPアドレスからの接続を許可する」を選択し、「次へ:タグ」をクリックします。
今回は検証のための構築になるのでタグは未設定のまま「次へ:概要」をクリックします。
設定のサマリーを確認し、「作成」をクリックします。
これでAzure Synapse Analyticsの環境が作成されました。
3.Azure Synapse Studioの起動
Azure Synapse Studioは、Azure Synapse Analyticsサービスの多くのコンポーネントを操作するためのツールです。
ホームの「最近のリソース」から先ほど作成した「Synapseワークスペース」をクリックします。
Synapseワークスペースページの「Synapse Studioを開く」をクリックします。
(ここがメイン画面となります)
Synapse Studioが起動されると下記の画面が立ち上がります。
Synapse Studioを使ってデータの準備や管理ができます。
4.Synapse Studioからのデータ参照
次に、BLOBストレージに格納したCSVファイルをSynapse Studioから参照してみたいと思います。
データを参照する手段として、「オンデマンド方式」と「SQLプール方式」があります。
「SQLプール方式」はAzure SQL Data Warehouse時代からあった既存の方式で、実テーブルを保有し、データソースから取得した実データを格納します。
「オンデマンド方式」は新方式で、実テーブルは保持せず、外部テーブル経由でデータソースを直接参照します。
外部テーブルとは、別の場所にあるデータソースをあたかも自分のテーブルのように参照できる機能です。
今回は、新方式である「オンデマンド方式」でデータを参照してみたいと思います。
「オンデマンド方式」ではサーバレスのSQL Poolを使用します。
Synapse Studioから、「Data」→「+」→「SQL database」をクリックします。
ページ右側に「Create SQL database」が表示されるので、「Select SQL pool type」の「Serverless」を選択し、「Database name」を設定して「Create」ボタンをクリックします。
「Databases」に作成したSQLDBが表示されていることを確認します。
それでは、このSQL Poolを使ってデータを参照してみたいと思います。
「オンデマンド方式」では、実テーブルを作成することはできないため、外部テーブルを作成します。
まずはCSVファイルが格納されているBLOBストレージを認識するため、使い慣れたTransact-SQLで、「create extarnal data source」を使い外部データソースを作成します。
次にCSVファイルのフォーマットを「create extarnal file format」を使い登録します。
今回はCSVファイルのため、項目区切り(FIELD_TERMINATOR)を「,」、文字列区切り(STRING_DELIMITER)に「”」を指定します。
最後にCSVファイルを参照するための外部テーブルを「create extarnal table」で作成します。
作成する外部テーブル名と参照したいデータのCSVファイル名を指定します。
CSVの項目にあわせて、RDBMSでテーブルを作成するように項目名とデータ型を列挙します。
これで外部テーブルの設定は完了です。
外部テーブルの設定までできてしまえば、普段使い慣れたSELECT文で外部テーブルにSELECTすることでCSVデータを参照することができます。
「SELECT 項目名, 項目名・・・・ FROM 外部テーブル名」
「オンデマンド方式」では、ビューも作成できるので、複数の外部テーブルをビューでカスタマイズすることも可能です。
5.おわりに
Azure Synapse Analyticsは使い慣れたSQLとUI操作でデータ連携とデータ参照を実現することができます。
また、様々なデータのサポートやAzure Machine Learningとの連携などエンタープライズ向けの分析作業の効率化と高速化を実現します。