Что лучше всего для потоковой передачи завершенных сессий на S3? - PullRequest
0 голосов
/ 20 января 2020

Не уверен, что есть один правильный ответ, но хотел бы услышать ваши мысли таким образом. В настоящее время у меня есть конвейер данных, который передает потоки событий (веб-приложений) от Kinesis до S3 с помощью FireHose. Этот процесс прекрасно работает для меня, и он очень стабильный. Единственная проблема, с которой я столкнулся, заключается в том, что firehose выплевывает события не закрытых сессий, так как он настроен на то, чтобы выкладывать файлы в s3 каждые 15 минут или при достижении 128 МБ. Это заставляет мой ETL потреблять части пользовательского сеанса, поскольку он работает все время. Простые вычисления, такие как количество пользовательских кликов в одном сеансе, не точны (некоторые события определенного сеанса c могут получить плевок от пожарного шланга до s3 и будут использованы ETL, в то время как другие события того же сеанса будут получать плевок только через 15 мин. потом).

Мой вопрос - как лучше всего справиться с этим? Есть ли способ установить пожарный шланг для потребления событий только через 10 минут после последнего события в сеансе, например?

...