其他分享
首页 > 其他分享> > Splunk中使用mvexpand mvzip将同一行的多值数据拆分成多条数据

Splunk中使用mvexpand mvzip将同一行的多值数据拆分成多条数据

作者:互联网

参考:https://community.splunk.com/t5/Splunk-Search/mvexpand-multiple-multi-value-fields/m-p/21970

在splunk的数据中又是会出现这样的数据格式:

就是在一条数据中某个字段或者某几个字段是有多个值的,但是我们想把它的每个值都单独与其它字段拆分开变成多条记录,并且如果是有多个字段都有多值的情况下,我们希望这个多值的字段的值是一一对应的:

index="student_grade"
| eval tmpField=mvzip(grade,Class)     //将多值字段拼接在一起作为一个字段
| eval tmpField=mvzip(tmpField,other_mutiple_field)     //假设还有第三个多值字段other_mutiple_field,那么就在上一行的拼接字段基础上再拼接一次,也就是三个字段拼接在一起
| mvexpand tmpField      //展开数据
| makemv tmpField delim=","     //将刚才拼接的字段分割开
| eval grade=mvindex(tmpField,0)      //拼接的时候字段的下标,从0开始
| eval Class=mvindex(tmpField,1)
| eval other_mutiple_field=mvindex(tmpField,2)
| table Student Age Sex grade Class Date

 

标签:mvzip,grade,tmpField,多值,mvexpand,字段,拼接,eval,Splunk
来源: https://blog.csdn.net/QYHuiiQ/article/details/118074842