Насколько большими могут быть партии в Flink и Spark? - PullRequest
0 голосов
/ 16 января 2020

В настоящее время я работаю над основой для анализа применения крупномасштабного эксперимента. Эксперимент содержит около 40 инструментов, каждый из которых генерирует около ГБ / с с нс временными метками. Данные предназначены для анализа во временных порциях.
Для реализации я хотел бы знать, насколько большим может быть такой пакет, известный как «порция», до того, как Flink или Spark прекратят обработку данных. Я думаю, что само собой разумеется, что я собираюсь вспомнить обработанные данные.

1 Ответ

1 голос
/ 16 января 2020

Для анализа данных в реальном времени

Как правило, нет жестких ограничений на объем данных, которые вы можете обрабатывать в системах. Все зависит от того, сколько у вас узлов и какой у вас запрос.

Звучит так, как если бы вы в основном агрегировали для каждого инструмента в заданном временном окне, ваш максимальный горизонтальный масштаб ограничен 40. Это максимальное количество машин, которое вы можете запустить в своей задаче. Затем возникает вопрос о том, насколько велики ваши временные порции / насколько сложны агрегации. Предполагая, что для вашей агрегации требуются все данные окна, система должна хранить 1 ГБ в секунду. Таким образом, если у вас окно составляет один час, системе необходимо хранить не менее 3,6 ТБ данных.

Если основной памяти машин недостаточно, данные должны быть пролиты на диск, что значительно замедляет обработку , Spark действительно любит хранить все данные в памяти, так что это будет практический предел. Flink может пролить почти все данные на диск, но тогда дисковый ввод-вывод становится узким местом.

Если вам нужно вычислять небольшие значения (например, суммы, средние значения), основная память не должна стать проблемой.

Для анализа старых данных

При анализе старых данных система может выполнять пакетную обработку и иметь гораздо больше возможностей для обработки тома, включая разлив на локальный диск. Spark обычно светится, если вы можете хранить все данные одного окна в основной памяти. Если вы не уверены в этом или знаете, что он не помещается в основную память, Flink является более масштабируемым решением. Тем не менее, я ожидаю, что обе платформы будут работать хорошо для вашего варианта использования.

Я бы предпочел взглянуть на экосистему и костюм для вас. Какие языки вы хотите использовать? Такое ощущение, что использование ноутбуков Jupyter или Zeppelin лучше всего подойдет для вашего достаточно специального анализа c и исследования данных. Особенно, если вы хотите использовать Python, я бы сначала попробовал Spark.

...