首页 > 解决方案 > 如何在 Kusto 查询上应用 python for 循环?

问题描述

假设我有一个列表,我希望我的 Kusto 查询针对列表中的每个项目运行。

(在 jupyter nb 上)

列表=[Aa,Bb,Cc,....]

%%kql

设 dt=Stormevent where city == “Aa”/ “Bb”....;

DT

标签: azure-data-explorerkql

解决方案


您可以使用 ٪kql 线魔法而不是 %%kql 细胞魔法。它将允许您在 python 代码中嵌入查询。(如果查询太长,您可以将查询字符串分配给变量 q 并按照 %kql -query=q 调用它)

要在每次迭代中查询不同的城市,您可以通过设置 enable_curly_brackets_params 选项对查询进行参数化

每次 %kql 调用后,当前结果都可以在 _ 中找到,因此您可以将其分配给 esult 数组。

    q = """Let dt=Stormevent Where city == {city};dt"""
    result = {}
    for city in ["boston", "new york"]:
        %kql -enable_curly_brackets_params -query=q
        result[city] = _

推荐阅读