Разделение данных AWS Kinesis Firehose на s3 по полезной нагрузке

Я использую AWS-Kinesis-Firehose для ввода данных в S3, а затем использую их с помощью Athena.

Я пытаюсь анализировать события из разных игр, чтобы Athena не исследовала много данных. Я хотел бы разделить данные s3, используя идентификатор для каждой игры, пока не нашел решения, так как Firehose получает данные из разных игр.

Кто-нибудь знает, как это сделать?

Спасибо, Хави.


person bracana    schedule 01.08.2017    source источник
comment
было бы лучше добавить код, который у вас есть до сих пор   -  person ammportal    schedule 01.08.2017
comment
Почему этот вопрос помечен как дубликат? Это правильный и совсем другой вопрос. Ошибка пометить его как дубликат. Этот вопрос спрашивает, как создать собственный раздел на основе значения потока kinesis. Вопрос, который должен быть дублирован, говорит о паркетных пилках, они совершенно разные. Kinesis может работать и без трансформации. Пожалуйста, удалите повторяющийся знак.   -  person suresh    schedule 11.09.2019


Ответы (2)


Вы можете использовать Amazon Kinesis Analytics для разделения входящих Потоки Firehose в отдельные выходные потоки на основе некоторой логики, такой как идентификатор игры.

Он может принимать KinesisFirehoseInput и отправлять данные в KinesisFirehoseOutput.

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

person John Rotenstein    schedule 01.08.2017

Вы можете отправить свой трафик в основной поток FireHose, а затем использовать лямбда-функцию для разделения данных на несколько потоков FireHose — по одному для каждой игры, которая будет сохранять данные в отдельной папке / ведре.

person Shimon Tolts    schedule 01.08.2017
comment
Я думал об этом, но есть проблема, я ожидаю около 20 миллионов ежедневных событий, это означает, что лямбда-функция будет запускаться 20 миллионов раз в день только для классификации событий, что было бы дорого. - person bracana; 01.08.2017
comment
Я нашел события cloudWatch, которые могут помочь мне, выполняя это через временные интервалы, но все же могут быть дорогими. - person bracana; 01.08.2017
comment
Lambda может запускаться пакетом до 1000 событий через FireHose, что значительно сократит количество триггеров. - person Shimon Tolts; 01.08.2017
comment
Я уже сделал, как вы сказали ранее, назначив лямбда-функцию пожарному потоку, так как я настроил пакетное время 300 секунд, этого достаточно для удовлетворения моих потребностей. Пакет по событиям для меня недействителен, так как я могу получить много событий за короткий промежуток времени или несколько, я не хочу ждать, пока я получу 1000 событий. Большое спасибо за Вашу помощь!! - person bracana; 01.08.2017
comment
Обратите внимание, что пакетная настройка до X событий, она не будет удерживать ваш поток, пока не будет достигнуто ограничение. - person Shimon Tolts; 01.08.2017