Migration Azure Data Explorer在更新策略中应用迁移
查看了所有Azure Data Explorer文档以了解迁移场景,但我没有找到关于此的文章。 我想做的是将迁移应用到传入的数据,我想把它放在更新策略中。我不知道这是不是一个好主意,让我知道。除此之外,我不知道我所做的是否足够好,或者是否可以做得更好 我有表目标和表源。源有一个动态有效负载列,如果该列具有特定属性,我将该列映射到表目标。我是这样做的:Migration Azure Data Explorer在更新策略中应用迁移,migration,azure-data-explorer,kql,Migration,Azure Data Explorer,Kql,查看了所有Azure Data Explorer文档以了解迁移场景,但我没有找到关于此的文章。 我想做的是将迁移应用到传入的数据,我想把它放在更新策略中。我不知道这是不是一个好主意,让我知道。除此之外,我不知道我所做的是否足够好,或者是否可以做得更好 我有表目标和表源。源有一个动态有效负载列,如果该列具有特定属性,我将该列映射到表目标。我是这样做的: let new_data = Source | where Payload.Name == 'NameImLookingFor' ; let go
let new_data = Source
| where Payload.Name == 'NameImLookingFor'
;
let good_data = new_data
| where isnull(Payload.DeprecatedField)
| project
FieldA = todouble(Payload.FieldA),
FieldB = todouble(Payload.FieldB),
FieldC = todouble(Payload.FieldC)
;
let migrated_data = new_data
| where isnotnull(Payload.DeprecatedField)
| project
FieldA = iff(toint(Payload.DeprecatedField)==0,todouble(Payload.DeprecatedFieldValue), Payload.UndefinedMemeber),
FieldB = iff(toint(Payload.DeprecatedField)==1,todouble(Payload.DeprecatedFieldValue), Payload.UndefinedMemeber),
FieldC = iff(toint(Payload.DeprecatedField)==2,todouble(Payload.DeprecatedFieldValue), Payload.UndefinedMemeber)
;
good_data
| union migrated_data
我有一些问题和不确定性:
谢谢。使用更新策略是有效的(不过,理想情况下,如果可能的话,您应该在将数据导入Kusto/ADX之前在其源位置修复数据) 您可以将逻辑替换为以下内容:
Source
| where Payload.Name == 'NameImLookingFor'
| extend df = toint(Payload.DeprecatedField)
| project FieldA = case(isnull(df), todouble(Payload.FieldA), case(df == 0, todouble(Payload.DeprecatedFieldValue), double(null))),
FieldB = case(isnull(df), todouble(Payload.FieldB), case(df == 1, todouble(Payload.DeprecatedFieldValue), double(null))),
FieldC = case(isnull(df), todouble(Payload.FieldC), case(df == 2, todouble(Payload.DeprecatedFieldValue), double(null)))