【问题标题】:Does Kusto support DEFAULT values for columns?Kusto 是否支持列的默认值?
【发布时间】:2021-12-01 19:15:10
【问题描述】:

我有一个包含 3 列的表格:

ID productId customerId
1 5 1
2 4 1
3 5 1
4 4 1

我想添加一个名为 ID_MOD 的新列,默认情况下它的值为 ID%X(X 是一个数字)。 X=3 的预期结果:

ID productId customerId ID_MOD
1 5 1 1
2 4 1 2
3 5 1 0
4 4 1 1

我的应用有 X 个实例,我希望每个实例都查询特定的 ID_MOD 值 (0/1/2.../X-1)。

是否可以对列使用默认值?如果是,是否可以根据其他列计算默认值?

【问题讨论】:

    标签: azure-data-explorer kql


    【解决方案1】:

    您可以做的是create a stored function 接收x 作为输入参数,并使用计算列(在查询时)扩展您的表。

    例如:

    .create-or-alter function FunctionName(x:int)
    {
        TableName
        | extend ID_MOD = ID % x
    } 
    

    如果您决定 x 始终具有相同的值并且不应该是参数,您可以使用与表相同的名称来命名函数,它将“隐藏”原始表。

    如果计算扩展列的逻辑是预先定义好的,你可以在摄取时调用它,使用update policy

    【讨论】:

    • 在查询期间有什么办法可以做到吗?感觉更好的方法是在摄取 Kusto 之前计算 ID_MOD(我实际上也不喜欢......)
    • 如果计算扩展列的逻辑是事先定义好的,你可以在摄取时调用它,使用更新策略:docs.microsoft.com/en-us/azure/data-explorer/kusto/management/…
    • 似乎更新策略是适合该问题的更好解决方案。谢谢您的帮助 !您可以将其添加到答案中吗?
    猜你喜欢
    • 2017-07-28
    • 2010-11-03
    • 2011-07-22
    • 1970-01-01
    • 2012-12-01
    • 1970-01-01
    • 2012-04-10
    • 1970-01-01
    相关资源
    最近更新 更多