Splunk-将具有高基数的分类字段转换为数字

问题描述 投票:0回答:2

问题:我正在使用默认的Splunk UI搜索屏幕,在该屏幕中,我进行了搜索,其中包含要转换为数字的分类值(例如主机名)字段。到目前为止,我发现的唯一解决方案是使用eval-case组合来标识和转换每个名称。如果您的名称列表很有限,那么效果很好。我的字段名称数量不确定,我想避免使用Splunk的内置热编码,例如eval {field} =1。这会产生一组列,根据字段的基数,这些列可能会出现非常高的数字。

下面是使用eval和case的示例。同样,这对于一些已知值也可以正常工作。我正在寻求一种更动态的方法来处理大量值。

| eval src_zone_num = case(src_zone == "zone1", 1, src_zone == "zone2", 2, src_zone == "zone3", 3, src_zone == "zone4", 4, src_zone == "zone5", 5)
splunk splunk-query
2个回答
0
投票

尝试| streamstats count as src_zone_num by src_zone


0
投票

您可以使用哈希,eval h = md5(主机名)

也许您解释此用例的原因(主机名为数字,我们可能还有其他选择。

© www.soinside.com 2019 - 2024. All rights reserved.