2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

「S3 + Athena」 で実行していたことを 「BLOB + Azure Data Explorer」 で実現してみました − 2

Last updated at Posted at 2021-03-29

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」をコピーします

image.png

3.コピーした「URL」をブラウザの新しいタブで開きます。これが Azure Data Explorer の Web UI となります。

image.png

Azure Data Explorer Web UI でデータベースで基本コマンドを実行する

まずは、「.show databases」コマンドを「クエリ ウィンドウ」に入力後、 [実行] を選択します。結果セットには、データベースである 「IoTDummyDatabase」 が表示されることを確認します。

image.png

Azure Data Explorer Web UI でデータベースへのクエリを実行

今回のメインディッシュ、いくつかのサンプルクエリーを実行してみます。

1.次のクエリをコピーしてクエリ ウィンドウに貼り付けます。 ウィンドウの上部にある [実行] を選択します。

# Kusto
iot_tbl 
| sort by ['id'] desc 
| take 10

このクエリを実行すると、iot_tbl テーブルから最新の 10 レコードが返されます。 結果は次のテーブルのようになります。

image.png

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 で定義したもののみとその表示順となります。 結果は次のテーブルのようになります。

image.png

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(都道府県)毎のデータ件数をカウントし、件数の多い都道府県から棒グラフで表示されます。 結果は以下のようになります。

image.png

4.次のクエリをコピーしてクエリ ウィンドウに貼り付けます。 ウィンドウの上部にある [実行] を選択します。

# Kusto
iot_tbl
| where section == "C"

このクエリを実行すると、iot_tbl テーブの section カラムの値が "C" のもののみ返されます。 結果は次のテーブルのようになります。

image.png

5.次のクエリをコピーしてクエリ ウィンドウに貼り付けます。 ウィンドウの上部にある [実行] を選択します。

# Kusto
iot_tbl
| where section == "C" or section == "E" or section == "W"

このクエリを実行すると、iot_tbl テーブの section カラムの値が "C","E","W" のもののみ返されます。 結果は次のテーブルのようになります。

image.png

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 から棒グラフで表示されます。 結果は以下のようになります。

image.png

次の最後のステップでは、Azure Data Explorer の Python ライブラリを使用してデータベースへのクエリを実行してみます。

本課題のシリーズ情報

3つのステップ
STEP-1.Azure Data Explorer クラスターとデータベースを作成する
STEP-2.Azure Data Explorer の Web UI でデータベースへのクエリを実行する
STEP-3.Azure Data Explorer の Python ライブラリを使用してデータベースへのクエリを実行する

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?