>100 Views
March 19, 25
スライド概要
すとなり 2025.03.19
Kusto クエリ言語(KQL) Azure Data Explorer や Azure Log Analytics、Microsoft Sentinel、Microsoft Defender などで使用されるクエリ言語。 上記以外でも Azure Resource Graph エクスプローラーや Microsoft Fabric (KQL DB) などでも使用される。 大量のログ、テレメトリー データを効率よく検索・分析することに特化している。 特徴 SQL に似ているが・・・ • ストリーム処理、時系列処理に強い(データは一定期間保持され、変更は不可) • フィルター ⇒ 集計 ⇒ 表示 • 大規模なデータに対しても高速 大規模なデータで高速な理由 • Kusto は列指向データベースで最小の I/O(一般的な RDBMS は行指向データベース) • 分散ストレージ+分散クエリ エンジン ⇒ クエリを複数ノードで並列実行 • ACID 準拠を前提とした複雑なトランザクション処理が不要
https://detective.kusto.io/ Microsoft が提供している KQL をインタラクティブに学べる無料学習サイト Kusto Detective Agency として与えられた事件(シナリオ)を解決しながら KQL を学んでいく形式。
#1 DetectiveCases | extend Bounty = toreal(Properties.Bounty) | as All | where isnotempty(Bounty) | distinct CaseId,Bounty | join kind=inner ( All | where EventType == "CaseSolved" | summarize arg_min(Timestamp,*) by CaseId ) on CaseId | summarize Total = sum(Bounty) by DetectiveId
#2 Consumption | distinct Timestamp,HouseholdId,MeterType,Consumed | where Consumed > 0 | summarize sum(Consumed) by MeterType | join (Costs) on MeterType | extend Total = sum_Consumed * Cost | summarize sum(Total)
ありがとうございます narisho