将带有分隔符的列字符串拆分为 azure kusto 中的单独列
Split column string with delimiters into separate columns in azure kusto
我在天蓝色 table 中有一个列 'Apples',其中包含以下字符串:“Colour:red,Size:small”。
现状:
|-----------------------|
| Apples |
|-----------------------|
| Colour:red,Size:small |
|-----------------------|
期望的情况:
|----------------|
| Colour | Size |
|----------------|
| Red | small |
|----------------|
请帮忙
这个查询给了我想要的结果:
| parse Apples with "Colour:" AppColour ", Size:" AppSize
请记住在要提取的每个单词之前添加所有不同的分隔符,例如“, Size”。注意space之间。
这对我有帮助,然后我用我的直觉根据我的需要自定义查询:
https://docs.microsoft.com/en-us/azure/data-explorer/kusto/query/parseoperator
我会回答这个标题,因为我注意到很多人都在寻找解决方案。
这里的关键是mv-expand运算符(扩展multi-value动态数组或属性包成多条记录):
datatable (str:string)["aaa,bbb,ccc", "ddd,eee,fff"]
| project splitted=split(str, ',')
| mv-expand col1=splitted[0], col2=splitted[1], col3=splitted[2]
| project-away splitted
project-away 运算符允许我们 select 从输入中排除哪些列从输出中排除 .
结果:
+--------------------+
| col1 | col2 | col3 |
+--------------------+
| aaa | bbb | ccc |
| ddd | eee | fff |
+--------------------+
我在天蓝色 table 中有一个列 'Apples',其中包含以下字符串:“Colour:red,Size:small”。
现状:
|-----------------------|
| Apples |
|-----------------------|
| Colour:red,Size:small |
|-----------------------|
期望的情况:
|----------------|
| Colour | Size |
|----------------|
| Red | small |
|----------------|
请帮忙
这个查询给了我想要的结果:
| parse Apples with "Colour:" AppColour ", Size:" AppSize
请记住在要提取的每个单词之前添加所有不同的分隔符,例如“, Size”。注意space之间。
这对我有帮助,然后我用我的直觉根据我的需要自定义查询:
https://docs.microsoft.com/en-us/azure/data-explorer/kusto/query/parseoperator
我会回答这个标题,因为我注意到很多人都在寻找解决方案。
这里的关键是mv-expand运算符(扩展multi-value动态数组或属性包成多条记录):
datatable (str:string)["aaa,bbb,ccc", "ddd,eee,fff"]
| project splitted=split(str, ',')
| mv-expand col1=splitted[0], col2=splitted[1], col3=splitted[2]
| project-away splitted
project-away 运算符允许我们 select 从输入中排除哪些列从输出中排除 .
结果:
+--------------------+
| col1 | col2 | col3 |
+--------------------+
| aaa | bbb | ccc |
| ddd | eee | fff |
+--------------------+