Hadoop Лекция 1. Введение в Hadoop и MapReduce. Что такое Hadoop Инфраструктура (framework) для параллельной обработки больших объемов данных (терабайты)

Презентация:



Advertisements
Похожие презентации
Hadoop Лекция 3. Алгоритм MapReduce. План История создания MapReduce Основы MapReduce Примеры использования MapReduce Особенности применения MapReduce.
Advertisements

Архитектура системы обработки больших объемов изображений с автоматическим распараллеливанием Созыкин А.В. Гольдштейн.
Big Data пришли в Россию Объем данных в компаниях.
Операционные системы. 2 Операционная система Основная управляющая программа компьютера, которая постоянно находится в памяти компьютера и занимается всеми.
Лекция 6 Понятие операционных систем Учебные вопросы: 1. Характеристики ОС 2. Свободные и проприетарные ОС.
Методы построения и программное обеспечение вычислительных кластеров Дмитрий Лайком гр. 8ВМ23.
Распределенная обработка информации Разработано: Е.Г. Лаврушиной.
Стек технологий Apache Hadoop. Распределённая файловая система HDFS Сергей Рябов.
Архитектура, возможности и методы использования платформы облачных вычислений Microsoft Windows Azure Лекция 2 Понятие об облачных вычислениях. Обзор платформ.
Архитектура ресурсной системы распределенных виртуальных сред Курсовая работа на тему: «Архитектура ресурсной системы распределенных виртуальных сред»
Лекция 23 Лекция 23 Схемы распределения данных и запросов. Обработка распределенных данных и запросов. Многопотоковые и многосерверные архитектуры. Типы.
Учебный курс Технологии и средства разработки корпоративных систем Лекция 1 Открытые системы. Клиент и сервер Лекции читает кандидат технических наук,
Локальная сеть Типы локальных сетей Топология сетей.
BigData изнутри: технологии и алгоритмы Александр Сербул руководитель направления, разработчик Партнерская конференция «1С-Битрикс»
Организация распределенных прикладных систем. Попытаемся ответить на вопросы Как устроены распределенные прикладные системы? Каковы наиболее важные их.
1 Назначение операционных систем Автор проекта: Евтина М. Г. Петрова М. В. Трубицын Д.А. Худяков А. Ю.
Раздел 3 Сетевые модели. Тема 3.1 Понятие сетевой модели. Архитектура сети определяет основные элементы сети, характеризует ее общую логическую организацию,
Павел Светличный Senior iOS Developer Svitla Systems Киев, Построение кластера на базе Apache CouchDB.
Кафедра высокопроизводительных компьютерных технологий Семинар для бакалавров второго курса Созыкин Андрей Владимирович к.т.н. зав.кафедрой высокопроизводительных.
Компьютерные кластеры. Автор: Капля Алексей Владимирович alex
Транксрипт:

Hadoop Лекция 1. Введение в Hadoop и MapReduce

Что такое Hadoop Инфраструктура (framework) для параллельной обработки больших объемов данных (терабайты) Особенности: Функциональное программирование Автоматическое распараллеливание Перемещение вычислений к данным Open Source,

Концепции Парадигмы программирования: Императивное программирование (ИП) Функциональное программирование (ФП) Работа с данными: Перемещение данных к вычислительным ресурсам (ПДкВ) Перемещение вычислений к данным (ПВкД)

Концепции Наиболее популярная сейчас технология: императивное программирование + перемещение данных к вычислениям Примеры: MPI GPU

GPU nVidia Высокая производительность: nVidia Tesla M2050/2070 – 0,5 TFlops double Шаги вычислений: Копирование данных в память GPU Обработка данных в GPU Копирование данных в память хоста Программист полностью управляет процессом вычислений и перемещения данных

Недостатки ИП + ПДкВ MPI и GPU эффективны при: Небольших объемах данных Высокой сложности вычислений Небольшом количестве узлов (сотни) Терабайты данных перемещать долго Управлять логикой передачи данных на тысячи узлов сложно

Проблемы разработки для крупных параллельных систем Масштабирование на тысячи узлов Эффективное распределение нагрузки Эффективный обмен данными в процессе вычислений Обработка отказов вычислительных узлов Императивное программирование: Все эти задачи программист должен решать сам

Функциональное программирование Программист описывает функцию, которую надо вычислить, но не процесс вычисления Входные данные не изменяются, создаются новые Поток данных жестко встроен в программу

Задачи Hadoop/MapReduce Эффективная обработка терабайтов данных Автоматическое распараллеливание на тысячи узлов Автоматическое распределение нагрузки Автоматическая обработка отказов оборудования Простота использования

Примеры приложений Распределенный grep Распределенная сортировка Инвертированный индекс Подсчет количества запросов к URL Реверсивный web-link граф

История Google: The Google File System MapReduce: Simplified Data Processing on Large Clusters Open Source поисковик Apache Nutch использует MapReduce 2006 – Open Source реализация MapReduce выделяется в отдельный проект Apache Hadoop

Кто использует Hadoop

Состав Hadoop Hadoop Common – общие компоненты Hadoop Hadoop HDFS – распределенная файловая система Hadoop MapReduce – реализация MapReduce на Java

Hadoop HDFS Специализированная распределенная файловая система для хранения Терабайтов данных Цели разработки: Надежное хранение данных на дешевом ненадежном оборудовании Высокая пропускная способность ввода-вывода Потоковый доступ к данным Упрощенная модель согласованности: WORM Архитектура аналогична Google File System

Архитектура Hadoop HDFS

Архитектура HDFS Узлы хранения – серверы стандартной архитектуры Данные хранятся на внутренних дисках серверов Единое адресное пространство Параллельное чтение и запись на узлы – высокая пропускная способность

MapReduce Программная модель параллельной обработки больших объемов данных за путем разделения на независимые задачи MapReduce разработан в Google для поисковой системы Использует функциональное программирование, обработку списков

Функции MAP и Reduce Названия заимствованы из функциональных языков (LISP, ML) Обработка списков

MapReduce в Hadoop Списки пар: ключ-значение AAA mph, 12:00pm ZZZ mph, 12:02pm AAA mph, 12:05pm Reduce выполняется отдельно для разных ключей

Поток данных MapReduce

Пример WordCount Подсчет количества слов в файлах

Архитектура Hadoop

Перемещение вычислений к данным Задача запускается на том узле хранения, который содержит данные для обработки (фаза MAP) Перемещаются только входные списки для Reduce, их объем мал (как правило)

Результаты Hadoop в TeraSort БайтыУзлыMapsReducesВремя 5* секунд секунды минуты минут Источник: Owen OMalley and Arun C. Murth. Winning a 60 Second Dash with a Yellow Elephant.

ОС и режимы работы Java 6 Поддерживаемые ОС: Linux (продуктив) Windows (только тестирование) Любой UNIX (не гарантируется) Режимы работы: Локальный Псевдо-распределенный Распределенный

Программирование Hadoop Java API Hadoop Plugin для Eclipse Hadoop Streaming - другие языки: Shell Python Ruby и др.

Системы на основе Hadoop Pig – высокоуровневый язык потоков данных HBase – распределенная база данных Cassandra – multi-master база данных без единой точки отказа Hive – хранилище данных (warehouse) Mahout – машинное обучение и извлечение знаний

Итоги

Вопросы?