FIXER cloud.config Tech Blog
2021年01月07日 11時00分更新
初めに
こんにちは。久しぶりの積雪にちょっとテンションが上がっていた入社1年目の山下です。翌朝、ベランダに雪が積もってて掃除が大変で、雪はもういいやとなりました。
早速ですが、本題に入っていこうと思います。本テーマは、KQLを使って簡単にデータ検索ができるということを前編、後編、応用編に分けた記事の後編になります。前編はこちらをご覧ください。
KQLでよく使われる演算子
ここでは、「KQLでよく使われる演算子を使い、実際のAzure Data Explorerのデモ画面で、自分の欲しいデータを自分の欲しい形で出力する」ということを行なっていきます。デモ画面のURLはこちらからお開きください。
① where
特定の述語でのフィルターhttps://ift.tt/3oyJIhu
とドキュメントにありますが、実際に見ていった方が早いので見てみましょう。
こちらの画面は前編で説明しているので説明は省かせて頂きます。このKustoクエリを以下の画像のように編集してみてください。
そして実行ボタンを押し、結果が出てくるのを待つと、以下のような画面が出てくるかと思います。
これは、StormEventsテーブルの全てのデータを表示しています。
では、ここからwhereを追加して、自分が欲しいデータを表示させてみましょう。欲しいデータは自分で決めて試してみて頂ければと思いますが、本記事では非常にシンプルではありますが、下記データを表示させてみようと思います。
・StartTimeが2007-01-01 00:00:00 ~ 2008-01-01 00:00:00の期間
・StateがMINNESOTA
・EventTypeがFlood
実際にwhereを使って表示させてみましょう。以下の画像のように入力してみてください。
そしてこのKustoクエリを実行すると…
レコード数が29件まで絞り込めましたね! これが「自分の欲しいデータを自分の欲しい形で出力する」の「自分の欲しいデータ」になります。
② project
先ほどの結果を見て思ったことはありませんか? 私は不要な列まで混ざっていて見づらいと感じました。そこで、必要な列だけを表示させてみましょう。そのための演算子がprojectです。以下のようにprojectの行を追加します。
そして実行を押すと…
必要なStartTime、State、EventTypeの列だけ表示させることができました! だいぶ見やすくなったと思います。
③ summarize
summarizeは入力テーブルの内容を集計したテーブルを生成します。こちらも以下のようにsummarizeの行を追加します。
これで実行ボタンを押すと…
2~4行目のwhere文で絞り込んだ数を出力することができました! やっぱりシンプルですよね。summarizeはこのように、データの数を出力することができるので、ユーザ登録数のようなものも簡単に取得することができます(実際はそう上手くいかないかもしれません。あくまで一例ですのでご了承ください)。
④ sort
sortは名前からピンとくるかもしれませんが、並べ替えです。以下のようにクエリを書き換えてみましょう。sortは並べ替えのため、わかりやすい数字で出力するために、EpisodeIdのデータを表示するようにしています。
実行すると…
EpisodeIdが順番に表示されました! ちゃんと順番に並んでいますね。ちなみに、ascは昇順という意味です。降順にしたい場合は、descに書き換えて実行してみてください。
⑤ render
最後にrenderについて説明していきます。renderは簡単に言うとグラフを生成する演算子です。実際にクエリを見ていきます。
これで実行すると…
横軸がStartTime、縦軸がEpisodeIdのグラフが表示されました! たった1行でグラフが表示されることがわかりました。すごいですよね。
クエリでは5、6行目を追加しています。5行目で、StartTimeとEpisodeの2列だけ出力し、6行目で、StartTime(横軸)とEpisode(縦軸)として、折れ線グラフで表示しています。
終わりに
今回、Azure Data Explorerのデモ画面で、よく使われる演算子を使ってKQLの説明をしていきました。見る前よりも理解を深めることができましたでしょうか? 少しでも理解度が上がっていれば幸いです。
前編と後編ではAzure Data Explorerで行なってきましたが、次の応用編では、Log AnalyticsでKQLを使って、実用的なログ収集をしていこうと思います。次回の更新をお待ち頂ければと思います。
最後までお読み頂きありがとうございました! 次回の更新もお楽しみに。
山下 隼司/FIXER
20年新卒入社。
クエリを華麗に書けるように勉強中です。
[転載元]
超簡単!KQLの書き方(前編)
からの記事と詳細 ( 超簡単!KQL(Kusto Query Language)の書き方【後編】 - ASCII.jp )
https://ift.tt/3s1pmzO
No comments:
Post a Comment