STEP-2 : Azure Data Explorer の Web UI でデータベースへのクエリを実行する
概要
AWSの「S3 + Athena」 で実行できること、つまり、S3に保存されているJSON形式等のデータ(以下、JSONデータ)を Athenaで提供されているSQLライクな構文を用いてクエリ実行することによりデータ抽出が可能となっています。同様なことをAzure上の「BLOB + Azure Data Explorer」構成においても可能であることを確認しました。なお、「Web UI」と「Pythonプログラム」の両方で実現しております。
この実現を以下の3つのステップで順次説明します。
STEP-1.Azure Data Explorer クラスターとデータベースを作成する
STEP-2.Azure Data Explorer の Web UI でデータベースへのクエリを実行する
STEP-3.Azure Data Explorer の Python ライブラリを使用してデータベースへのクエリを実行する
STEP-1についてはこちらを参照ください。 今回は STEP-2 について説明します。
Azure Data Explorer は、大量のデータのリアルタイム分析を実現するフルマネージドの高速データ分析サービスです。 Azure Data Explorer の Web UI を使用すると、Azure Data Explorer クラスターに接続して、Kusto クエリ言語のコマンドとクエリを作成、実行、共有できます。
ローカル環境
macOS Big Sur 11.1
python 3.8.3
Microsoft Edge 89.0.774.63(Safariでは Azure Data Explorer がうまく動きませんでした)
ローカル上での事前準備
Azure Storega Exploere がインストールされていること。
Azure上での事前準備
STEP-1を完了していること。
今回のクエリー対象となるデータは、この記事 にある「IoTSample-write.py」で 2222件生成したものとなります。
Azure Data Explorer の Web UI の表示
Azure Data Explorer の Web UI を以下の手順で表示します。
1.Azureポータルにサインインします。
2.STEP-1 で作成した Azure Data Explorer クラスター「ituruadxcluster」リソースを選択します。
3.Azure Data Explorer クラスター画面に表示されている「URL」をコピーします
3.コピーした「URL」をブラウザの新しいタブで開きます。これが Azure Data Explorer の Web UI となります。
Azure Data Explorer Web UI でデータベースで基本コマンドを実行する
まずは、「.show databases」コマンドを「クエリ ウィンドウ」に入力後、 [実行] を選択します。結果セットには、データベースである 「IoTDummyDatabase」 が表示されることを確認します。
Azure Data Explorer Web UI でデータベースへのクエリを実行
今回のメインディッシュ、いくつかのサンプルクエリーを実行してみます。
1.次のクエリをコピーしてクエリ ウィンドウに貼り付けます。 ウィンドウの上部にある [実行] を選択します。
# Kusto
iot_tbl
| sort by ['id'] desc
| take 10
このクエリを実行すると、iot_tbl テーブルから最新の 10 レコードが返されます。 結果は次のテーブルのようになります。
2.次のクエリをコピーしてクエリ ウィンドウに貼り付けます。 ウィンドウの上部にある [実行] を選択します。
# Kusto
iot_tbl
| sort by ['id'] desc
| project ['time'], iot_state, iot_num, section, vol_1, vol_2
| take 10
このクエリを実行すると、iot_tbl テーブルから最新の 10 レコードが返され、表示されるカラムは Kusto の project で定義したもののみとその表示順となります。 結果は次のテーブルのようになります。
3.次のクエリをコピーしてクエリ ウィンドウに貼り付けます。 ウィンドウの上部にある [実行] を選択します。
# Kusto
iot_tbl
| summarize event_count=count(iot_state) by iot_state
| sort by event_count
| where event_count > 1
| project iot_state, event_count
| render columnchart
このクエリを実行すると、iot_tbl テーブルから iot_state(都道府県)毎のデータ件数をカウントし、件数の多い都道府県から棒グラフで表示されます。 結果は以下のようになります。
4.次のクエリをコピーしてクエリ ウィンドウに貼り付けます。 ウィンドウの上部にある [実行] を選択します。
# Kusto
iot_tbl
| where section == "C"
このクエリを実行すると、iot_tbl テーブの section カラムの値が "C" のもののみ返されます。 結果は次のテーブルのようになります。
5.次のクエリをコピーしてクエリ ウィンドウに貼り付けます。 ウィンドウの上部にある [実行] を選択します。
# Kusto
iot_tbl
| where section == "C" or section == "E" or section == "W"
このクエリを実行すると、iot_tbl テーブの section カラムの値が "C","E","W" のもののみ返されます。 結果は次のテーブルのようになります。
6.次のクエリをコピーしてクエリ ウィンドウに貼り付けます。 ウィンドウの上部にある [実行] を選択します。
# kusto
iot_tbl
| summarize event_count=count(section) by section
| sort by event_count
| where section == "C" or section == "E" or section == "W"
| project section, event_count
| render columnchart
このクエリを実行すると、iot_tbl テーブの section カラムの値が "C","E","W" のもののみを対象に、それ毎のデータ件数をカウントし、件数の多い section から棒グラフで表示されます。 結果は以下のようになります。
次の最後のステップでは、Azure Data Explorer の Python ライブラリを使用してデータベースへのクエリを実行してみます。
本課題のシリーズ情報
3つのステップ
STEP-1.Azure Data Explorer クラスターとデータベースを作成する
STEP-2.Azure Data Explorer の Web UI でデータベースへのクエリを実行する
STEP-3.Azure Data Explorer の Python ライブラリを使用してデータベースへのクエリを実行する