Фреймворки параллельных вычислений

Введение в дата-инжиниринг

Vincent Vankrunkelsven

Data Engineer @ DataCamp

 

Логотип Apache Hadoop

Введение в дата-инжиниринг

HDFS

 

Схема HDFS как распределённой файловой системы

Введение в дата-инжиниринг

MapReduce

 

Логотип Hadoop MapReduce

 

Схема с примером Олимпийских игр

Введение в дата-инжиниринг

Hive

 

  • Работает на Hadoop
  • Язык запросов: Hive SQL
  • Изначально MapReduce, теперь другие инструменты

Логотип Apache Hive

Введение в дата-инжиниринг

Hive: пример

 

SELECT year, AVG(age)
FROM views.athlete_events
GROUP BY year

 

Схема Hive — MapReduce

Введение в дата-инжиниринг

Логотип Spark

  • Не требует записи на диск
  • Поддерживается Apache Software Foundation
Введение в дата-инжиниринг

Устойчивые распределённые наборы данных (RDD)

 

  • Spark опирается на них
  • Схожи со списком кортежей
  • Преобразования: .map() или .filter()
  • Действия: .count() или .first()
Введение в дата-инжиниринг

PySpark

 

  • Python-интерфейс к Spark
  • Абстракция DataFrame
  • Схож с Pandas
Введение в дата-инжиниринг

PySpark: пример

# Load the dataset into athlete_events_spark first

(athlete_events_spark
  .groupBy('Year')
  .mean('Age')
  .show())
SELECT year, AVG(age)
FROM views.athlete_events
GROUP BY year
Введение в дата-инжиниринг

Давайте потренируемся!

Введение в дата-инжиниринг

Preparing Video For Download...