使用 Kqlmagic 创建和运行笔记本
Kqlmagic 是一种命令,可在 Azure Data Studio 笔记本中扩展 Python 内核的功能。 可以组合使用 Python 和 Kusto 查询语言 (KQL),通过与 render
命令集成的丰富 Plotly 库查询和可视化数据。 Kqlmagic 使你可以在同一个位置获得笔记本、数据分析和丰富 Python 功能的优势。 具有 Kqlmagic 的受支持数据源包括 Azure 数据资源管理器、Application Insights、Azure Monitor 日志。
本文演示对于 Azure 数据资源管理器群集、Application Insights 日志和 Azure Monitor 日志,如何使用 Kqlmagic 扩展在 Azure Data Studio 中创建和运行笔记本。
先决条件
在笔记本中安装并设置 Kqlmagic
此部分中的步骤全都在 Azure Data Studio 笔记本中运行。
创建新笔记本并将“内核”更改为“Python 3”。
当包需要更新时,系统可能会提示你升级 Python 包。
安装 Kqlmagic:
import sys !{sys.executable} -m pip install Kqlmagic --no-cache-dir --upgrade
验证它是否已安装:
import sys !{sys.executable} -m pip list
加载 Kqlmagic:
%reload_ext Kqlmagic
注意
如果此步骤失败,则关闭文件并重新打开。
可以通过浏览帮助文档或检查版本来测试是否已正确加载 Kqlmagic。
%kql --help "help"
注意
如果
Samples@help
要求提供密码,则可以将它留空,然后按 Enter。若要查看安装的 Kqlmagic 版本,请运行以下命令。
%kql --version
Kqlmagic 与 Azure 数据资源管理器群集
此部分介绍如何通过将 Kqlmagic 与 Azure 数据资源管理器群集结合使用来运行数据分析。
会针对 Azure 数据资源管理器加载 Kqlmagic 并进行身份验证
注意
每次在 Azure Data Studio 中创建新笔记本时,都必须加载 Kqlmagic 扩展。
验证“内核”设置为“Python3”。
加载 Kqlmagic:
%reload_ext Kqlmagic
连接到群集并进行身份验证:
%kql azureDataExplorer://code;cluster='help';database='Samples'
注意
如果使用自己的 ADX 群集,则必须在连接字符串中包含区域,如下所示:
%kql azuredataexplorer://code;cluster='mycluster.westus';database='mykustodb'
使用设备登录进行身份验证。 从输出中复制代码,然后选择“身份验证”,这会打开需要在其中粘贴代码的浏览器。 成功进行身份验证后,可以返回到 Azure Data Studio 以继续执行脚本的其余部分。
对 Azure 数据资源管理器进行查询和可视化
可以使用 render 运算符查询数据,使用 plotly 库可视化数据。 此查询和可视化操作提供了使用本机 KQL 的集成体验。
按状态和频率分析前 10 个暴风雨事件:
%kql StormEvents | summarize count() by State | sort by count_ | limit 10
如果熟悉 Kusto 查询语言 (KQL),则可以在
%kql
后键入查询。可视化时间线图表:
%kql StormEvents \ | summarize event_count=count() by bin(StartTime, 1d) \ | render timechart title= 'Daily Storm Events'
使用
%%kql
的多行查询示例。%%kql StormEvents | summarize count() by State | sort by count_ | limit 10 | render columnchart title='Top 10 States by Storm Event count'
Kqlmagic 与 Application Insights
会针对 Application Insights 加载 Kqlmagic 并进行身份验证
验证“内核”设置为“Python3”。
加载 Kqlmagic:
%reload_ext Kqlmagic
注意
每次在 Azure Data Studio 中创建新笔记本时,都必须加载 Kqlmagic 扩展。
连接并进行身份验证。
首先,必须为 Application Insights 资源生成 API 密钥。 然后,使用应用程序 ID 和 API 密钥从笔记本连接到 Application Insights:
%kql appinsights://appid='DEMO_APP';appkey='DEMO_KEY'
对 Application Insights 进行查询和可视化
可以使用 render 运算符查询数据,使用 plotly 库可视化数据。 此查询和可视化操作提供了使用本机 KQL 的集成体验。
显示页面视图:
%%kql pageViews | limit 10
注意
使用鼠标在图表区域上拖动以放大到特定日期。
在时间线图表中显示页面视图:
%%kql pageViews | summarize event_count=count() by name, bin(timestamp, 1d) | render timechart title= 'Daily Page Views'
Kqlmagic 与 Azure Monitor logs
会针对 Azure Monitor 日志加载 Kqlmagic 并进行身份验证
验证“内核”设置为“Python3”。
加载 Kqlmagic:
%reload_ext Kqlmagic
注意
每次在 Azure Data Studio 中创建新笔记本时,都必须加载 Kqlmagic 扩展。
连接并进行身份验证:
%kql loganalytics://workspace='DEMO_WORKSPACE';appkey='DEMO_KEY';alias='myworkspace'
对 Azure Monitor 日志进行查询和可视化
可以使用 render 运算符查询数据,使用 plotly 库可视化数据。 此查询和可视化操作提供了使用本机 KQL 的集成体验。
查看时间线图表:
%%kql KubeNodeInventory | summarize event_count=count() by Status, bin(TimeGenerated, 1d) | render timechart title= 'Daily Kubernetes Nodes'
后续步骤
了解有关笔记本和 Kqlmagic 的详细信息:
- Azure Data Studio 的 Kusto (KQL) 扩展(预览版)
- 创建并运行 Kusto (KQL) 笔记本(预览)
- 使用 Jupyter Notebook 和 Kqlmagic 扩展分析 Azure 数据资源管理器中的数据
- Jupyter Notebook 和 Jupyter 实验室的扩展 (Magic),让笔记本体验适用于 Kusto、Application Insights 和 LogAnalytics 数据。
- Kqlmagic
- 如何使用 Azure Data Studio 中的笔记本