HadoopDB архитектурный гибрид технологий


Hadoop


Hadoop – это версия с открытыми кодами среды MapReduce, реализованная под непосредственным влиянием идей исходной статьи про MapReduce и используемая сегодня в десятках компаний для выполнения анализа данных . В описываемых в данной статье экспериментах мы использовали систему Hadoop версии 0.19.1, выполняемую в среде Java 1.6.0. Мы устанавливали систему с несколькими изменениями в конфигурационных установках, используемых по умолчанию. Данные в HDFS сохранялись в блоках размером 256 мегабайт вместо размера в 64 мегабайта, принимаемого по умолчанию. Каждый исполнитель MR работал с кучей максимального размера в 1024 мегабайта. В каждом узле допускалось одновременное выполнение двух экземпляров Map и одного экземпляра Reduce. Мы также расширили буферное пространство для операций чтения-записи файлов и увеличили буфер сортировок до 200 мегабайт (со ста параллельными потоками для слияния). В дополнение к этому, мы изменили число параллельных пересылок, выполняемых функцией Reduce на фазе "перетасовки" (shuffle), и число рабочих потоков управления для каждого HTTP-сервера компонента TaskTracker до 50. Эти настройки соответствуют принципам организации высокопроизводительных кластеров Hadoop . Кроме того, мы допустили повторное использование JVM (Java Virtual Machine).

Для каждого прогона мы сохраняли все входные данные и результаты в HDFS без репликации (в разд. 7 мы добавляем репликацию). После прогона тестов на кластере конкретного размера мы удаляли во всех узлах каталоги данных, заново форматировали и загружали HDFS, чтобы обеспечить равномерное распределение данных между всеми узлами.

Мы представляем результаты как для Hadoop с кодированием вручную, так и для Hadoop с использованием Hive (т.е. планы Hadoop генерировались автоматически на основе SQL-интерфейса Hive). Эти результаты для Hadoop на диаграммах показаны путем разделения соответствующих столбцов на две части. В нижней части показано время, затраченное Hadoop при выполнении заданий, которые кодировались вручную, а верхняя часть демонстрирует дополнительные накладные расходы, затраченные на автоматическую генерацию плана системой Hive, а также на вызовы функций и динамическое разрешение типов данных через Java Reflection API при обработке каждого кортежа в задании, код которого получен путем использования Hive.




Начало  Назад  Вперед



Книжный магазин