2014-06-14 5 views
0

Я работаю над проектом CEP, где я анализирую журналы из файла навалом. Файл представляет собой сжатый CSV-файл, который пересылается на мою аналитическую машину каждый час, где каждая строка содержит событие с меткой времени точно так же, как это произошло в течение предыдущего часа.Переопределение времени, используемого для временных окон в Esper

Чтение этого файла в простой объект Java не является проблемой, и я, как правило, в конечном итоге с чем-то вроде этого:

class MyEvent { 
    public Date getTimestamp(); 
    public String getMessage(); //shortened to these field only for simplicity 
    public String getSource(); 
    public int getCount(); 
} 

Таким образом, проблема в том, что этот файл может содержать события, которые были написаны где-то между 1 час назад и 1 секунду назад, и единственный способ узнать - проверить поле метки времени в самом событии. При загрузке этих событий в Esper все будет загружено в течение нескольких секунд (вероятно, будет десятки тысяч, и будет загружаться так же быстро, как Esper может их принять).

Теперь, анализ сам по себе хочет рассчитать средний «счет» на «источник» каждые 5 минут в Esper (ничего сложного), однако, поскольку все события загружаются в течение нескольких секунд, временное окно в Esper будет неправильно, и все события могут находиться в одном окне времени независимо от того, когда они были созданы. Поэтому мой вопрос: стоит ли переопределять то, что считается временной меткой события в окнах времени Esper?

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

спасибо.

ответ

1

Это будет делать это: выбор источника, сумма (количество) из группы MyEvent на выходе источника все каждые 5 секунд

Эспер также позволяет внешний таймер для контроля времени свободно в приложении коде.

+0

Приведенный вами пример был тем же, который я рассматривал, пока не осознал смещение события. Можете ли вы рассказать о комментарии внешнего таймера? – agnsaft

+0

«пока вы не осознали смещение события» - что бы это значило? – user650839

+0

http://esper.codehaus.org/esper-5.0.0/doc/reference/en-US/html_single/index.html#api-controlling-time – user650839