Azure

Azure Synapse Analytics で分析を行う - ③Data Explorerで分析を行う

はじめに

Azure Synapse の Data Explorer で分析を行っていきたいと思います。

Synapseワークスペースは構築されていることが前提です。

Azure Synapse Analytics で分析を行う - ①ワークスペースの作成 - 技術的な何か。
Azure Synapse Analytics で分析を行う - ①ワークスペースの作成 - 技術的な何か。

はじめに Azure Synapse Analyticsはデータ分析基盤のひとつとして利用できます。そこで分析を何回かに分けてチュートリアルを行っていきます。 最初に行うのはワークスペースの作成を行っ

level69.net

Data Explorer はプレビュー機能です。将来、仕様変更が行われることがあることに注意しましょう。

分析

分析を行うためには以下の作業を行います。

  • Data Explorer プールの作成
  • Data Explorer データベースの作成
  • データの取り込みとクエリによる分析

手順は以下を参考に行っています。

クイックスタート: Data Explorer プールを使用して分析を開始する (プレビュー) - Azure Synapse Analytics | Microsoft Learn
クイックスタート: Data Explorer プールを使用して分析を開始する (プレビュー) - Azure Synapse Analytics | Microsoft Learn

このクイックスタートでは、Data Explorer を使用してデータを分析する方法について説明します。

docs.microsoft.com

Data Explorer プールの作成

Synapse Studioを開きます。

管理からデータエクスプローラーから新規で作成します。

作成していきます。必要な項目を入力します。

  • データエクスプローラープール名:一意
  • ワークロード:Compute optimized
  • サイズ:Extra Small(2 core)

コンピュート最適化かストレージ最適化を選択できます。

ストレージ最適化では、Medium(8 cores)、Large(16 cores)を選択できます。

コンピュート最適化ではExtra Small(2 cores)、Small(4 cores)、Medium(8 cores)、Large(16 cores)が選択できます。

入力したら作成します。

これで分析のための箱はできました。次に分析のためのデータベースを作成します。

Data Explorer データベースの作成

データベースを作成します。

データから「+」を開き、Data Explorerデータベースを開きます。

必要事項を入力します。

  • プール名:上記で作成したものを選択します。
  • 名前:任意

作成されてことを確認します。

データの取り込みとクエリによる分析

開発から「+」を開き、KSQLスクリプトを選択して新規作成します。

接続先に上記で作成したData Explorerを選択しします。

データの取り込みを行うためにテーブルを作成します。

.create table StormEvents (StartTime: datetime, EndTime: datetime, EpisodeId: int, EventId: int, State: string, EventType: string, InjuriesDirect: int, InjuriesIndirect: int, DeathsDirect: int, DeathsIndirect: int, DamageProperty: int, DamageCrops: int, Source: string, BeginLocation: string, EndLocation: string, BeginLat: real, BeginLon: real, EndLat: real, EndLon: real, EpisodeNarrative: string, EventNarrative: string, StormSummary: dynamic)

 

作成したテーブルにデータを取り込みます。MSが用意しているものです。このデータの元ネタはNOAAのストームの気象データのようです。(https://www.ncdc.noaa.gov/stormevents/ftp.jsp)

.ingest into table StormEvents 'https://kustosamplefiles.blob.core.windows.net/samplefiles/StormEvents.csv?sv=2019-12-12&ss=b&srt=o&sp=r&se=2022-09-05T02:23:52Z&st=2020-09-04T18:23:52Z&spr=https&sig=VrOfQMT1gUrHltJ8uhjYcCequEcfhjyyMX%2FSc3xsCy4%3D' with (ignoreFirstRecord=true)

 

実際にクエリを実行し分析を行います。

StormEvents
| sort by StartTime desc
| take 10

 

分析結果が表示されます。

ここでは、StartTimeが降順ソートされた10件が表示されていることが分かります。

グラフも作成可能です。

ASCII.jp:“RDB脳”なぼくらのためのKQL⇔SQL対応表
ASCII.jp:“RDB脳”なぼくらのためのKQL⇔SQL対応表

SQLでいうところのCRUDの動作のうちRead動作だけを行なえるちょっと特殊な書き方をするクエリ言語KQLの書き方を解説します。

ascii.jp

以上でData Explorerを用いた分析方法は完了です。

チートシートも参考にしてみてください。

SQL から Kusto へのクエリ変換 - Kusto | Microsoft Learn
SQL から Kusto へのクエリ変換 - Kusto | Microsoft Learn

SQL クエリと同等のKusto 照会言語について説明します。

docs.microsoft.com

まとめ

Data Explorerを用いた分析も行えます。基本的な利用方法を紹介しました。ここら辺から様々な分析する方法が用意されていて適材適所が分からない感じになってきています。ちなみにKQLを用いた分析はログ系に強いようです。

-Azure
-