Учебное задание по Spark
Budget: $80 – $130 USD
Russian language is required.
Есть 2 задания:
Задание 1:
Разработать приложение для обработки сведений о пользователях.
Входные данные: запись, содержащая имя, страну и время.
Выходными данными являются структуры со значениями счётчика уникальных стран и счётчика уникальных имён за определённый интервал времени. Интервал времени определяется статически.
Разработать потоковое приложение для Apache Flink, Beam, Spark, Storm или Samza (любого из них) в три этапа:
написать конвейер для расчёта количества уникальных строк за интервал для одного канала (имя или страна)
написать аналогичный второй конвейер и обеспечить выдачу результатов в разные очереди
написать параллельный вариант с объединением двух значений в одну структуру
При реализации приложений использовать модульные тесты для отладки, специфичные для конкретного потокового фреймворка, а также проверить запуск приложения с внешними очередями.
Задание 2:
С использованием кода потокового приложения из Задания 1, разработать макет для измерения характеристик обработки. Макет должен содержать модуль генерации сообщений в очередь сообщений, потоковое приложение должно читать сообщения из очереди.
Необходимо реализовать подсчёт:
количества сообщений, использованных для вычисления агрегатов;
минимального и максимального времени сообщения в обработке от момента поступления в систему потоковой обработки до момента включения в агрегат.
При помощи генератора сообщений с изменяемой плотностью генерации сообщений, определить предельный режим работы системы.
Приложить отчёт, содержащий исходный код и краткие пояснения. Отдельным файлом приложить архив исходных кодов измерительного макета.
В конце работы надо будет провести консультацию - как работает реализованное решение.
Есть 2 задания:
Задание 1:
Разработать приложение для обработки сведений о пользователях.
Входные данные: запись, содержащая имя, страну и время.
Выходными данными являются структуры со значениями счётчика уникальных стран и счётчика уникальных имён за определённый интервал времени. Интервал времени определяется статически.
Разработать потоковое приложение для Apache Flink, Beam, Spark, Storm или Samza (любого из них) в три этапа:
написать конвейер для расчёта количества уникальных строк за интервал для одного канала (имя или страна)
написать аналогичный второй конвейер и обеспечить выдачу результатов в разные очереди
написать параллельный вариант с объединением двух значений в одну структуру
При реализации приложений использовать модульные тесты для отладки, специфичные для конкретного потокового фреймворка, а также проверить запуск приложения с внешними очередями.
Задание 2:
С использованием кода потокового приложения из Задания 1, разработать макет для измерения характеристик обработки. Макет должен содержать модуль генерации сообщений в очередь сообщений, потоковое приложение должно читать сообщения из очереди.
Необходимо реализовать подсчёт:
количества сообщений, использованных для вычисления агрегатов;
минимального и максимального времени сообщения в обработке от момента поступления в систему потоковой обработки до момента включения в агрегат.
При помощи генератора сообщений с изменяемой плотностью генерации сообщений, определить предельный режим работы системы.
Приложить отчёт, содержащий исходный код и краткие пояснения. Отдельным файлом приложить архив исходных кодов измерительного макета.
В конце работы надо будет провести консультацию - как работает реализованное решение.