如何修改Join Operator对跨表同名列的重命名规则(无需显式重命名)
能否修改Kusto Join操作符对跨表同名列的重命名规则(默认加"1")?
能否修改Join Operator在连接两张表时,对跨表同名列末尾添加'1'的重命名方式?我希望无需显式重命名列即可实现此需求。
示例查询:
datatable(TableKey:string, CreatedDate:datetime) ['1', datetime('2022-01-01')] | join kind=inner ( datatable(TableKey:string, CreatedDate:datetime) ['1', datetime('2022-01-02')] ) on TableKey
当前执行结果:
TableKey CreatedDate TableKey1 CreatedDate1 1 2022-01-01 00:00:00.0000000 1 2022-01-02 00:00:00.0000000
目前Kusto的Join操作符不支持自定义跨表同名列的默认重命名规则,默认会对右表中非连接键的同名列自动添加后缀"1",这个行为是固定的,无法通过配置修改。
如果不想手动逐个显式重命名列,可参考两种替代方案:
- 移除重复列:在join后使用
project-away去掉不需要的重复列,例如只保留左表的CreatedDate:datatable(TableKey:string, CreatedDate:datetime) ['1', datetime('2022-01-01')] | join kind=inner ( datatable(TableKey:string, CreatedDate:datetime) ['1', datetime('2022-01-02')] ) on TableKey | project-away CreatedDate1 - 批量预重命名:在子查询中用
rename配合通配符批量修改右表列名,实现自定义后缀:datatable(TableKey:string, CreatedDate:datetime) ['1', datetime('2022-01-01')] | join kind=inner ( datatable(TableKey:string, CreatedDate:datetime) ['1', datetime('2022-01-02')] | rename * = *_right // 给所有非连接键列加自定义后缀"_right" ) on TableKey
内容的提问来源于stack exchange,提问作者PorgtheEaten
相关产品推荐
相关产品推荐

