如何在splink查询中添加文件名中具有相同字符串(日期)的特定源文件,需要帮助



我有一个要求,我们每天都会收到文件,文件中提到了相应的日期:

例如,文件名为:

test_dev_08_07_2021.json
test_dev_09_07_2021.json
test_prod_08_07_2021.json
test_prod_09_07_2021.json

现在我们的要求是添加具有相同日期的文件内容。我们正在使用的splink查询如下:

eventtype="metric:sample:example" source="test_dev_.json" OR source="test_prod_.json" | stats sum(number_of_car) as "# Total_Car  ", 
sum(Parked_cars) as "# Stopped_Cars", sum(Buses) as "# Total_Bus", sum(Parked_buses) as "# Stopped_Buses " by source | addcoltotals

但在那里,它得到了所有四个文件的组合结果:

source  # Total Car # Stopped Cars  # Total Bus # Stopped  Buses
test_dev_08_07_2021.json    23  21  295 124
test_dev_09_07_2021.json    22  22  297 123
test_prod_08_07_2021.json   2   3   429 66
test_prod_09_07_2021.json   2   3   427 66
       
49   49  1448    379

我们试图实现的是,只有具有相同日期的文件的内容才能添加。例如,如果在test_dev和test_prod中提到日期08_07_221,则只应添加这两个文件内容,并且它应显示日期为09_07_201的文件的结果。我们应该在加法之后得到单独的结果。

请注意:此外,我们每天都会收到这些文件。因此,每个文件的日期和月份范围都会有所不同,我们现在不能更改文件名

我们有什么方法可以完成这项任务吗?或者有人可以帮助我们进行相应的挥霍查询,这将非常有帮助。

请协助。

诀窍是提取日期并将其用作分组字段。

eventtype="metric:sample:example" source="test_dev_.json" OR source="test_prod_.json" 
| rex field=source "_(?<groupBy>dd_dd_dddd)"
| stats list(source) as sources sum(number_of_car) as "# Total_Car", 
sum(Parked_cars) as "# Stopped_Cars", sum(Buses) as "# Total_Bus", 
sum(Parked_buses) as "# Stopped_Buses" by groupBy
| fields - groupBy
| table sources "# Total_Car" "# Stopped_Cars" "# Total_Bus" "# Stopped_Buses"
| addcoltotals

相关内容

  • 没有找到相关文章

最新更新