Разработчик ядра Spark over YT
Требования
Местоположение и тип занятости
Компания
Компания, которая развивает самую популярную в России поисковую систему и десятки других сервисов
Описание вакансии
Условия работы
Сервисы Яндекса порождают сотни и тысячи петабайт данных. Хранят и обрабатывают эти данные кластеры из десятков тысяч машин под управлением YT.В прошлом году мы подключили к YT Apache Spark — популярную опенсорсную технологию для обработки больших данных. Нам удалось объединить преимущества YT и Spark, получить хорошие результаты и порадовать потребителей — десятки инженеров данных из различных подразделений Яндекса.Мы продолжаем развивать Spark over YT и ищем сильного разработчика, которому интересно заниматься интеграцией сложных и высокопроизводительных механизмов.
Фронт работ охватывает следующие системы:
- Spark Core (Scala);
- YT (C++);
- клиентские библиотеки (Java, Python);
- смежные инфраструктурные компоненты (С++, Java, Python).
Что нужно делать:
- прокачивать Spark, глубоко погрузившись в его работу;
- интегрировать YT со Spark;
- писать много хардкорного кода на Scala и Python;
- иногда писать что-то нестрашное на C++ и Java.
Примеры задач:
- под лупой профайлера оптимизировать код чтения исходных данных;
- сделать Python-обвязку для удобного запуска задач из конкретной инфраструктуры;
- написать плагин для оптимальной записи логов в долгосрочное хранилище;
- протянуть знание о метаданных из файловой системы в оптимизатор Spark.
Мы ждем, что вы:
- уверенно разрабатываете на Scala или Python;
- готовы учить другие языки;
- понимаете принципы работы распределенных систем;
- понимаете принципы обработки больших данных, парадигму MapReduce и ее наследников.
Будет плюсом, если вы:
- работали с Apache Spark;
- знаете C++ или Java;
- хорошо знаете Hadoop Stack (особенно HDFS, YARN);
- работали с Docker и системами оркестрации (Kubernetes, Rancher).