Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемasozykin.ru
1 Hadoop Лекция 1. Введение в Hadoop и MapReduce
2 Что такое Hadoop Инфраструктура (framework) для параллельной обработки больших объемов данных (терабайты) Особенности: Функциональное программирование Автоматическое распараллеливание Перемещение вычислений к данным Open Source,
3 Концепции Парадигмы программирования: Императивное программирование (ИП) Функциональное программирование (ФП) Работа с данными: Перемещение данных к вычислительным ресурсам (ПДкВ) Перемещение вычислений к данным (ПВкД)
4 Концепции Наиболее популярная сейчас технология: императивное программирование + перемещение данных к вычислениям Примеры: MPI GPU
5 GPU nVidia Высокая производительность: nVidia Tesla M2050/2070 – 0,5 TFlops double Шаги вычислений: Копирование данных в память GPU Обработка данных в GPU Копирование данных в память хоста Программист полностью управляет процессом вычислений и перемещения данных
6 Недостатки ИП + ПДкВ MPI и GPU эффективны при: Небольших объемах данных Высокой сложности вычислений Небольшом количестве узлов (сотни) Терабайты данных перемещать долго Управлять логикой передачи данных на тысячи узлов сложно
7 Проблемы разработки для крупных параллельных систем Масштабирование на тысячи узлов Эффективное распределение нагрузки Эффективный обмен данными в процессе вычислений Обработка отказов вычислительных узлов Императивное программирование: Все эти задачи программист должен решать сам
8 Функциональное программирование Программист описывает функцию, которую надо вычислить, но не процесс вычисления Входные данные не изменяются, создаются новые Поток данных жестко встроен в программу
9 Задачи Hadoop/MapReduce Эффективная обработка терабайтов данных Автоматическое распараллеливание на тысячи узлов Автоматическое распределение нагрузки Автоматическая обработка отказов оборудования Простота использования
10 Примеры приложений Распределенный grep Распределенная сортировка Инвертированный индекс Подсчет количества запросов к URL Реверсивный web-link граф
11 История Google: The Google File System MapReduce: Simplified Data Processing on Large Clusters Open Source поисковик Apache Nutch использует MapReduce 2006 – Open Source реализация MapReduce выделяется в отдельный проект Apache Hadoop
12 Кто использует Hadoop
13 Состав Hadoop Hadoop Common – общие компоненты Hadoop Hadoop HDFS – распределенная файловая система Hadoop MapReduce – реализация MapReduce на Java
14 Hadoop HDFS Специализированная распределенная файловая система для хранения Терабайтов данных Цели разработки: Надежное хранение данных на дешевом ненадежном оборудовании Высокая пропускная способность ввода-вывода Потоковый доступ к данным Упрощенная модель согласованности: WORM Архитектура аналогична Google File System
15 Архитектура Hadoop HDFS
16 Архитектура HDFS Узлы хранения – серверы стандартной архитектуры Данные хранятся на внутренних дисках серверов Единое адресное пространство Параллельное чтение и запись на узлы – высокая пропускная способность
17 MapReduce Программная модель параллельной обработки больших объемов данных за путем разделения на независимые задачи MapReduce разработан в Google для поисковой системы Использует функциональное программирование, обработку списков
18 Функции MAP и Reduce Названия заимствованы из функциональных языков (LISP, ML) Обработка списков
19 MapReduce в Hadoop Списки пар: ключ-значение AAA mph, 12:00pm ZZZ mph, 12:02pm AAA mph, 12:05pm Reduce выполняется отдельно для разных ключей
20 Поток данных MapReduce
21 Пример WordCount Подсчет количества слов в файлах
22 Архитектура Hadoop
23 Перемещение вычислений к данным Задача запускается на том узле хранения, который содержит данные для обработки (фаза MAP) Перемещаются только входные списки для Reduce, их объем мал (как правило)
24 Результаты Hadoop в TeraSort БайтыУзлыMapsReducesВремя 5* секунд секунды минуты минут Источник: Owen OMalley and Arun C. Murth. Winning a 60 Second Dash with a Yellow Elephant.
25 ОС и режимы работы Java 6 Поддерживаемые ОС: Linux (продуктив) Windows (только тестирование) Любой UNIX (не гарантируется) Режимы работы: Локальный Псевдо-распределенный Распределенный
26 Программирование Hadoop Java API Hadoop Plugin для Eclipse Hadoop Streaming - другие языки: Shell Python Ruby и др.
27 Системы на основе Hadoop Pig – высокоуровневый язык потоков данных HBase – распределенная база данных Cassandra – multi-master база данных без единой точки отказа Hive – хранилище данных (warehouse) Mahout – машинное обучение и извлечение знаний
28 Итоги
29 Вопросы?
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.