Инструменты работы
с большими данными
Форма обучения: очная с применением дистанционных технологий
Объем программы: 128 ак.ч.
Продолжительность обучения: 2,5 месяца (16 занятий)
Выдаваемый документ: Удостоверение о повышении квалификации МФТИ


Краткое описание программы:
На курсе мы познакомимся
- с технологиями работы с большими данными
- с типами хранилищ больших объёмов данных
- с подходами к потоковой и пакетной обработке данных
- с принципами трансляции высокоуровневых языков программирования (SQL-подобных и функциональных) в последовательность задач на Hadoop кластере

Для прохождения курса необходимо иметь базовые навыки работы с Python, SQL, Linux. Приветствуется минимальный навык в Java

Содержание программы:
.
  • Введение. О чём курс, какие будут формы контроля, как сдавать ДЗ. Что такое BigData
  • Виды отказов в сети. Распределённые файловые системы (GFS, HDFS). Их достоинство и сфера применения. Архитектура HDFS. Алгоритмы чтения и записи в HDFS. HDFS Web UI. Обзор API для работы с HDFS
  • Парадигма MapReduce. Основная идея, формальное описание. Обзор реализаций. API для работы с Hadoop (Native Java API vs. Streaming)
  • Дополнительные элементы MapReduce-задачи (Combiner, Comparator, Partitioner). Типы Join'ов и их реализации в парадигме MR. Паттерны проектирования MR (pairs, stripes, составные ключи).
  • Планирование задач в MapReduce. YARN
  • SQL over BigData: Повторение SQL. HiveQL vs. SQL. Hive. Виды таблиц в Hive, типы данных, трансляция Hive-запросов в MapReduce-задачи.
  • Оптимизация запросов в Hive (партиционирование, бакетирование, оптимизация Join'ов). Примерные расчеты в Hive. Расширения Hive (select-transform и UDF). Не только Hive: Apache Pig, Cloudera Impala, Presto
  • Итеративная обработка больших данных на Apache Spark, отличия Spark от MapReduce. Spark RDD API
  • Spark Dataframe API
  • Принципы обработки данных в реальном времени. Её отличия от "батч"-обработки.
  • Распределенная очередь данных. Apache kafka. Архитектура, отличия алгоритмов репликации от HDFS. Роль лидера в Kafka
  • Связь Kafka с обработкой данных в реальном времени. Kafka Streams
  • NoSQL в BigData. CAP-теорема. Google Bigtable и Apache HBase
  • Amazon Dynamo и Apache Cassandra.
  • От NoSQL снова к SQL. Google Spanner и CockroachDB
  • Администрирование экосистемы BigData

Целевая аудитория курса:

  • Разработчики - расширите свои профессиональные возможности и получите новые навыки работы с большими данными
  • Аналитики - освоите работу с большими данными и сможете решать более сложные и интересные аналитические задачи
  • Junior Data Engineers - научитесь грамотно использовать современные технологии работы с Big Data и понимать, какую технологию в каких случаях лучше применять.
  • Data Scientists - получите базу по современным инструментам и подходам к сбору, хранению и обработке данных, чтобы улучшить качество ML- модели

На курсе вы научитесь:
  1. Пользоваться распределенной файловой системой
  2. Запускать задачи на Hadoop кластере
  3. Писать задачи для запуска на Hadoop кластере с помощью нативного Java-интерфейса
  4. Писать задачи для запуска на Hadoop кластере с помощью любого другого языка программирования (с помощью инструментария Hadoop streaming)
  5. Пользоваться высокоуровневыми языками программирования для BigData для обработки большого объема данных на вычислительном кластере
  6. Решать задачи статистики, задачи поиска и индексации, задачи машинного обучения на Hadoop кластере
  7. Работать с большими объемами данных и располагать кругозором в выборе архитектурного решения поставленной задачи