Elasticsearch / Kibana: вычитание из предварительно агрегированных данных временных рядов - PullRequest
0 голосов
/ 07 августа 2020

Я работаю с данными CSSE COVID19 Университета Джона Хопкинса, опубликованными на их GitHub . Некоторые из показателей, которые они публикуют sh в своих ежедневных отчетах по США, представляют собой агрегированные суммы. Я хотел бы выполнить базовые c математические вычисления для значений в данном поле, чтобы я мог получать ежедневные подсчеты.

JHU публикует свои данные ежедневно, поэтому предположим, что представленные числа отражают 24-часовой период.

Пример. В штате Нью-Йорк я вижу следующие значения для Last_Update и Recovered, где Recovered - это скользящая сумма всех случаев выздоровления людей от инфекции:

Last_Update,Recovered    
2020-08-05,73326
2020-08-04,73279
2020-08-03,73222
2020-08-02,73134
2020-08-01,73055
2020-07-31,72973

В идеале я хотел бы создать новое поле (будь то поле со сценарием или новое поле, которое создается с помощью процессора Logsta sh Filter) с именем RecoveredToday, где поле значение отражает разницу между сегодняшним Recovered агрегированием и вчерашним Recovered агрегированием.

Last_Update,Recovered,RecoveredToday    
2020-08-05,73326,47
2020-08-04,73279,57
2020-08-03,73222,88
2020-08-02,73134,79
2020-08-01,73055,82
2020-07-31,72973,...

В приведенном выше наборе данных RecoveredToday вычисляется из значения Recovered на 2020-08-05 минус значение Recovered на 2020-08-04.

73326 - 73279 = 47

Что касается использования поля сценария в Kibana, согласно этой статье в блоге , поля сценария могут анализировать только поля внутри Данный документ за раз и не может выполнять вычисления для поля в нескольких документах.

Я действительно вижу, что пользователь @ agung-darmanto решил аналогичную проблему в StackOverflow , но решение требует указать c даты, а не выполнять скользящие вычисления. Из фрагмента кода также неясно, вставляются ли результаты в новое поле, которое впоследствии можно использовать для построения визуализаций.

Подход к использованию Logsta sh ruby обработки на лету также представляет собой проблема. Logsta sh, насколько я знаю, не может получить доступ к уже загруженному документу ... и, если это возможно, это, вероятно, довольно уродливая суперсила для использования.

Цель: в JHU есть другие поля. Данные CSSE, которые также предварительно агрегированы. Я хотел бы создать визуализации, отражающие тенденции, такие как:

  • Количество новых случаев в день
  • Количество новых госпитализаций в день
  • Количество новых смертей на день

Используя данные, которые они предоставляют, я могу построить визуализации, которые выходят на плато, и это плато отражает снижение заболеваемости. Я пытаюсь создать визуализацию, которая показывает НОЛЬ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...