Казахстан, г. Алматы, ул. Шевченко 90, БЦ «Каратал», офис 53
Казахстан, г. Нур-Султан, ул. Иманова 19, БЦ Деловой Дом "Алма-Ата", офис 612

направление: Анализ данных с Apache Spark Big Data Analysis with Apache Spark кол-во дней: 3
вендор: Apache кол-во часов: 24

Курс представляет собой практическое обучение по администрированию кластера Apache Spark, использованию Spark SQL, организации потоковой обработки Spark Streaming, работе с библиотеками машинного обучения Spark ML, построению графов в Spark GraphX.

В ходе интенсивного практического тренинга по знакомству с платформой для распределенной обработки больших данных Apache Spark вы научитесь: настраивать кластер Apache Spark для запуска задач на Scala и R при обработке больших массивов неструктурированных данных, применяя алгоритмы машинного обучения встроенных библиотек Spark MLLib; поймете разницу использования различных форматов хранения данных и использования RDD , dataframes и datasets; обращаться к данным с использованием Spark SQL или Hive QL; настраивать и анализировать данные в потоке Spark Streaming; интегрировать компоненты Apache Spark с другими компонентами экосистем Hadoop.

Слушатели:

Данный курс ориентирован на специалистов, администраторов, аналитиков данных, желающих получить опыт настройки и использования компонентов Apache Spark (Spark SQL, MLLib, Spark Streaming, Spark GraphX).

Предварительная подготовка:

  • Начальный опыт работы в Unix/SQL;

  • Начальный опыт программирования (Scala/Python/Java).

 Введение в Apache Spark.

  • Сравнение Hadoop и Spark

  • Сравнение Batch, Real-Time и in-Memory процессинг

  • Особенности Apache Spark

  • Компоненты экосистемы Apache Spark

Введение в RDD — Resilient Distributed Dataset

  • Что такое RDD?

  • Особенности использования RDD, RDD lineage

  • Трансформация в Spark RDD

  • Lazy evaluation и отказоустойчивость в Spark

  • Использование Persistence RDD в памяти и на диске

  • Использование key-value пар (ReduceByKey, CountByKey, SortByKey, AggregateByKey)

  • Интеграция Hadoop с Spark. Выполнение базовых операций с Cloudera Manager.

Запуск задач в Apache Spark

  • Знакомство со Spark-shell

  • Выполнение задач в Apache Spark

  • Написание программ в Apache Spark

  • Чтение данных с локальной файловой системы и HDFS 

  • Зависимости (Dependencies)

  • Кэширование данных в Apache Spark

  • Отказоустойчивость (Fault Tolerance). Хранение файлов в HDFS: сжатие, sequence файлы.

  • Формат AVRO, RCfile, ORC, Parquet.

Spark SQL, DataFrames, DataSet

  • Альтернатива RDDs

  • Сравнение DataFrame, DataSet и SQL API

  • Введение в Spark SQL, пользовательские функции в SparkSQL

  • Использование DataFrames и DataSet, DataSets вместо RDD

  • Простые запросы, фильтрация и агрегация DataFrames

  • Объединение (JOIN) DataFrames

  • Интеграция Hive и Spark: Hive запросы в Spark, создание Hive контекста, запись Dataframe в Hive, архитектура Apache Spark.

Управление ресурсами в кластере Apache Spark

  • Архитектура Apache Spark

  • Особенности управления ресурсами в автономном режиме кластера (Standalone)

  • Особенности управления ресурсами в режиме Hadoop-кластера с YARN

  • Динамическое распределение ресурсов Dynamic Resource Allocation

  • Оптимизация Apache Spark: использование разделов (partition hash,range,map, static), управление расписанием (dynamic, fair scheduler), использование переменных (shared, broadcast) и аккумуляторов (accumulators).

  • Использование Catalyst Optimizer для оптимизации исполнения запросов

  • Project Tungsten — оптимизация управления памятью и кэшом CPU, импорт и обработка данных в кластере Hadoop.

Машинное обучение (Machine Learning) в Apache Spark

  • Введение в Machine Learning с использованием MLLib

  • Алгоритм линейной регрессии (Linear Regression)

  • Деревья решений (Decision Trees)

  • Случайные леса (Random Forest)

  • Использование DataFrames с MLLib. Введение в Hive: структура Hive таблиц, синтаксис HiveQL, формат хранения файлов, работа с внешними и внутренними таблицами Hive.

Потоковая обработка (Streaming) в Apache Spark

  • Потоковая обработка данных для аналитики больших данных

  • Особенности реализации потоковой обработки данных в Apache Spark

  • Основные концепции потоковой обработки

  • Агрегированные и не агрегированные запросы

  • Обработка событий Event Time, Window и Late Events (скользящее окно событий)

  • Поддержка последних событий (Late Events) в потоковой обработке данных в Apache Spark

  • Режимы работы Apache Spark с потоковыми данными

Введение в GraphX

  • GraphX и Pregel

  • Поиск в ширину (Breadth-First-Search) с использование GraphX.