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

Вступ до Data Engineering

Vincent Vankrunkelsven

Data Engineer @ DataCamp

 

Логотип Apache hadoop

Вступ до Data Engineering

HDFS

 

Схема HDFS як розподіленої файлової системи

Вступ до Data Engineering

MapReduce

 

Логотип Hadoop MapReduce

 

Схема з прикладом олімпійських подій

Вступ до Data Engineering

Hive

 

  • Працює на Hadoop
  • Мова запитів: Hive SQL
  • Спершу MapReduce, тепер й інші інструменти

Логотип Apache Hive

Вступ до Data Engineering

Hive: приклад

 

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

 

Схема Hive до MapReduce

Вступ до Data Engineering

Зображення логотипу Spark

  • Уникає записів на диск
  • Підтримується Apache Software Foundation
Вступ до Data Engineering

Стійкі розподілені набори даних (RDD)

 

  • Базується на них
  • Подібні до списку кортежів
  • Трансформації: .map() або .filter()
  • Дії: .count() або .first()
Вступ до Data Engineering

PySpark

 

  • Інтерфейс Python до Spark
  • Абстракція DataFrame
  • Схожий на Pandas
Вступ до Data Engineering

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
Вступ до Data Engineering

Давайте потренуємось!

Вступ до Data Engineering

Preparing Video For Download...