Spsunk lookup csv файл содержит несколько вхождений элементов. Необходимо запросить эти элементы в индексе для каждого уникального диапазона меток времени в CSV - PullRequest
0 голосов
/ 13 октября 2019

поиск Test2.csv в формате CSV, где EVENT_ID может иметь несколько полей SiteID, а SiteID может иметь несколько EVENT_ID. Только SiteID является полем в индексе расширения.

YEAR, SiteID, earliest_date, latest_date, EVENT_ID
2019, AB111, 1560988800, 1562112000, ABSE00350
2019, AB111, 1562198400, 1563321600, ABSE00351
2019, AB111, 1548892800, 1550016000, ABSE00352
2019, AB112, 1548892800, 1550016000, ABSE00352

Я использую поиск для запроса индекса, чтобы вычислить KPI для каждой строки.

Вывод идеального запроса (KPI вычисляется для уникальногокомбинация SiteID и EVENT_ID) в индексе pm_busy_half_hour:

SiteID, KPI, EVENT_ID
AB111, 68.4, ABSE00350
AB111, 74.3, ABSE00351
AB111, 22.1, ABSE00352
AB112, 34.5, ABSE00352

Это верхняя часть моего кода, где я выполняю inputlookup, прежде чем приступить к вычислению KPI из данных в индексе. Однако это дает мне результат только с одним агрегатом SiteID, а не уникальным для каждой строки.

index=pm_busy_half_hour
[| inputlookup Test2.csv
| rename earliest_date as earliest, latest_date as latest
| table SiteID earliest latest
]
.....
.....
.....

Пожалуйста, сообщите

1 Ответ

0 голосов
/ 14 октября 2019

Причина, по которой ваш поиск не работает, состоит в том, что ваш поиск имеет несколько самых ранних и самых поздних периодов времени, которые в итоге объединяются, и сложно рассчитать результаты каждого KPI.

Я предлагаю вам взглянуть на этокоманда map.

| inputlookup Test2.csv
| map search="index=pm_busy_half_hour earliest=$earliest_date$ latest=$latest_date$ | where SiteId=$SiteId$ | stats count" maxsearches=100

Это запустит отдельный поиск для каждого из периодов времени в вашем поиске. Вероятно, вам потребуется изменить команду stats, чтобы она соответствовала расчету KPI

...