RDD. Dataframes. Spark ML. Spark Streaming

Расписание занятий (GMT+3):
- вт, чт 19:00–22:00,
- сб 11:00–14:00

Онлайн-доступ к программе для удаленных участников
29 октября – 3 декабря

Модуль "Apache Spark"

Мы используем файлы cookie, чтобы улучшить работу сайта, и показывать вам контент, согласно вашим интересам. Продолжая использовать сайт, вы соглашаетесь с условиями использования файлов cookie.
Да, соглашаюсь
Close
Что входит в модуль
Это один из модулей флагманской программы "Специалист по большим данным"
5 лаб
Каждую неделю вам нужно будет решить лабораторную работу и суперачивку
6 занятий
Оффлайн с трансляциями в прямом эфире и видеозаписями в личном кабинете
Для кого этот модуль?
-1-
Разработчики
У вас есть опыт программирования, но не хватает знаний и умений в работе с Apache Spark? На этом модуле вы научитесь выполнять ETL-операции над RDD, Dataframes, использовать Spark Streaming.
-2-
Аналитики
Вы умеете анализировать данные, но требуется знание новых инструментов? Вы научитесь анализировать большие объемы данных при помощи Apache Spark, строить ML-модели в распределенной среде на кластере.
-3-
Менеджеры
Вы занимаетесь развитием продукта или подразделения? На этом модуле вы получите погружение в Apache Spark, поймете юзкейсы использования этого инструмента, попробовав многие вещи своими руками.
Чему вы научитесь
В модуле есть четыре составляющих
RDD и Dataframes API
Научитесь загружать данные в Spark и преобразовывать их в RDD или датафреймы, а также совершать операции и трансформации над ними. Узнаете об отличиях этих двух форматов и в каких случаях их стоит использовать, а также про узкие и широкие трансформации, broadcast-переменные и аккумуляторы.
Spark ML
Научитесь тренировать модели машинного обучения в Spark и делать при помощи них прогнозы. Узнаете, как создавать автоматизированные пайплайны в Spark ML из различных трансформаций.
Spark GraphX
Научитесь работать с графовыми данными в Spark при помощи специальной библиотеки GraphX. Узнаете о том, как правильно анализировать данные из соцсетей.
Spark Streaming
Научитесь работать в режиме near real-time при помощи Spark Streaming, подключаясь к Kafka как источнику данных и производя агрегации над ними.
Лабы этого модуля
Задача — построить различного рода топы для рекомендации фильмов пользователям, по которым еще нет никаких данных, используя RDD в Apache Spark.
Вам нужно будет, рассчитывая похожесть описаний онлайн-курсов, выявить те, которые можно рекомендовать в дополнение пользователям, используя Spark Dataframes.
Используя матричные разложения, разработать рекомендации, учитывающие жанр, стиль и другие неявные факторы фильма, используя Spark.
Соревнование, в котором вам нужно будет добиться наилучшего скора, используя вместе разные алгоритмы рекомендательных систем, в том числе алгоритмы Spark ML.
Используя данные по просмотру телепередач разных пользователей, сделать рекомендации фильмов по подписке с использованием Spark ML.
Преподаватель этого модуля

Наталья Притыковская
Senior Data Scientist,
Mechanica AI
Инфраструктура модуля
То, с чем вы будете работать каждый день
Кластер
Этот модуль посвящен Apache Spark, поэтому на нем вы будете работать с нашим Spark-кластером, который мы администрируем, конфигурируем, поддерживаем.
GitHub
Все презентации, лабы, мануалы мы выкладываем в закрытый репозиторий на GitHub. Этот инструмент стал стандартом работы в среде программистов и профессионалов в сфере данных.
Личный кабинет
В нем вы можете проверить правильность выполнения лаб, используя автоматические чекеры. Там же можно смотреть прямые трансляции и видеозаписи занятий.
Slack
Общение во время модуля происходит в Slack — удобный мессенджер для команд. Там можно задавать вопросы во время трансляции, общаться с преподавателями, организаторами, друг с другом. Следить за апдейтами в GitHub и быть в курсе новостей.
Партнер по инфраструктуре
Стоимость модуля
42 000 руб.
Для коллег/ друзей выпускников 20% скидка
Это не онлайн-курс
Это онлайн-доступ к офлайновой программе
В аудитории во время занятия находится преподаватель и офлайн-участники. Вы можете задавать вопросы и получать ответы в режиме реального времени, как будто вы находитесь вместе с ними.

Во всем остальном вы получаете все то же самое: доступ к кластеру, материалам, решаете лабы, работаете над проектами, объединяетесь в команды, общаетесь вне занятий в Slack.
Для учебы вам потребуются
Входные требования
Умение программировать на Python 3
Это основной язык программирования, используемый на модуле. Хорошо, если вы уже будете знакомы с базовым синтаксисом, циклами, условными операторами, функциями, чтением и записью файлов.
Базовые знания Linux
В командной строке Linux вы тоже будете много времени проводить, работая с нашим кластером. Хорошо, если вы уже будете уметь перемещаться по директориям, создавать и редактировать файлы, заходить на удаленный сервер по ssh.
SQL
На модуле вы будете использовать такой инструмент как Hive. Для работы с ним вам пригодится умение писать запросы на этом языке: селекты, джойны, фильтры, подзапросы.
Линейная алгебра и машинное обучение
На модуле мы будем рассматривать продвинутые методы анализа данных, поэтому хорошо, если вы знаете основы статистики и линейной алгебры: среднее, дисперсия, вероятность, теорема Байеса, корреляция, ранг матрицы, а также основные алгоритмы машинного обучения.
1
2
3
4
5
6
7
NLP
ML
Интересны другие модули?
Возьмите всю программу целиком
Отзывы
Где работают наши выпускники
Здесь они живут и работают

Наши принципы обучения
Чтобы обучение было эффективным и интересным, мы используем андрагогику
-1-
Материал ориентирован на конкретные задачи
Наша цель — научить вас решать задачи из реальной жизни, а не покрыть список тем. Теория — это инструмент необходимый для решения задач, а не самоцель.
-2-
Возможность сразу же применять знания
Уже после первой недели вы научитесь работать в Spark и сможете использовать эти знания для пилотного проекта на работе.
-3-
Самостоятельность в решении
Наши задания сформулированы так, что вам часто нужно будет что-то загуглить. После программы у вас будет свой багаж из качественных ресурсов.
F.A.Q.
Могу ли я взять другие модули?
Да, вы можете набрать любое количество модулей программы. Они не пересекаются, поскольку являются частью одной длинной 12-недельной программы. При этом с какого-то момента может оказаться, что дешевле будет взять программу целиком.
Сколько времени потребуется для обучения?
Занятия проходят 3 раза в неделю по 3 часа. Это 9 часов. Плюс 4-10 часов потребуется на решение лабораторных работ в зависимости от задания и вашего изначального уровня подготовки.
Я смогу пройти модуль, если совсем новичок и никогда не программировал?
Да, но будет сложно. Среди наших выпускников есть те, кто познакомился с программированием непосредственно на программе. Было непросто. Приходилось больше тратить время на задания, испытывать сложности. Но если есть высокая мотивация, то это все выполнимо. Также у нас есть отдельный подготовительный модуль с основами Python и Linux.
Чем ваша программа отличается от других курсов по data science?
1. Наша программа не просто про анализ данных, а про анализ больших данных. И такой программы больше нет. Анализ больших данных требует умения работы со специализированными инструментами и наличия инфраструктуры. Все практические задания выполняются на кластере, который мы администрируем и поддерживаем.
2. Это модуль офлайновой программы (этим отличается от онлайн-курсов, хотя по стоимости модуль сопоставим). На офлайн-программах, как правило, обучение строится эффективнее: есть поддерживающая среда из сокурсников, преподавателей, координатора. По статистике, доля успешно завершивших онлайн-курс редко превышает 25%. На нашей программе свыше 70% получают по итогам сертификат.
Остались вопросы?
Задайте их, и мы с радостью вам ответим
Оставьте контакты ниже
Мы с вами свяжемся
Отправляя данную форму, вы подтверждаете свое согласие на обработку персональных данных, которая осуществляется в целях предоставления дополнительной информации об образовательных услугах, а также для записи на программы. Мы гарантируем конфиденциальность получаемой нами информации.
Оставьте контакты ниже
Мы с вами свяжемся
Отправляя данную форму, вы подтверждаете свое согласие на обработку персональных данных, которая осуществляется в целях предоставления дополнительной информации об образовательных услугах, а также для записи на программы. Мы гарантируем конфиденциальность получаемой нами информации.
Оставьте контакты ниже
Мы с вами свяжемся
Отправляя данную форму, вы подтверждаете свое согласие на обработку персональных данных, которая осуществляется в целях предоставления дополнительной информации об образовательных услугах, а также для записи на программы. Мы гарантируем конфиденциальность получаемой нами информации.
Оставьте контакты ниже
Мы с вами свяжемся
Отправляя данную форму, вы подтверждаете свое согласие на обработку персональных данных, которая осуществляется в целях предоставления дополнительной информации об образовательных услугах, а также для записи на программы. Мы гарантируем конфиденциальность получаемой нами информации.
Оставьте свой вопрос и контакты ниже
Мы с вами свяжемся
Отправляя данную форму, вы подтверждаете свое согласие на обработку персональных данных, которая осуществляется в целях предоставления дополнительной информации об образовательных услугах, а также для записи на программы. Мы гарантируем конфиденциальность получаемой нами информации.