резюме MapReduce

MapReduce подумал:

    Core:

        Разделяй и властвуй, и первые очки

    Сценарий:

        Сложные задачи, не зависит, чтобы обеспечить параллельную эффективность обработки

    Контекст отражает:

        После первой карты уменьшить
                карта: комплекс сплит задачи на задачи, частичный расчет, результаты, полученные на местном уровне
                уменьшить: частичное резюме результатов карты в глобальном масштабе, конечный результат

MapReduce идеи дизайна:

    Как большая обработка данных?

            В первом дивизионе вместе, разделяй и властвуй

    Абстрактная модель из двух функций:

Он выводится на ключевой входной секции кВ
            карта: комплекс сплит задачи на задачи, частичный расчет, результаты , полученные на местном уровне
            уменьшить: частичное резюме результатов карты в глобальном масштабе, конечный результат

    Для того, чтобы сделать и что нужно сделать, чтобы разделить:

            Он отвечает за выполнение комплекса (технический)
            Пользователи несут ответственность за что (бизнес)
Еще два были объединены программа MR завершена
 

основы программирования MapReduce и технические характеристики:

Уровень кода:

    наследование классов Mapper переопределить карту () ----- карта фаза отвечает за бизнес
    Сокращение наследования класса переопределение уменьшить () ---- ответственность за бизнес-логику сократить этап
    Запуск на клиентском главном классе определены (основные) ----- М.Р. соответствующие атрибуты, представление программы
Три или более упакован в виде пакета банки
 

Запуск угол:

    MapTask: отображение фазы работы задачи
    ReduceTask: снизить эксплуатационные фазы задачи
    MapReduceApplictionMaster (MrAppMaster): основная программа работает, чтобы контролировать работу каждой задачи и мр запустить программу, ответственный за ресурсы с пряжей
 

Дело WordCount:

версия экологического развития проблемы:
       Apache 2.7.4 локальная среда выполнения оптимизированного CDH2.6.0
Типы данных и механизм сериализации:
    Writable (интерфейс) считается раздутая механизм сериализации не способствует передаче большой сети передачи данных

Ключ: (MR поток выполнения):

 

механизм сериализации:

    Сериализация концепция механизма:
        Межпроцессная сеть передачи данных в поток байт
    Writable:
        Метод Последовательность: записи (уходит)
        Десериализация: Readfield (в)
Примечание: первый сериализации, после десериализации
 

Пользовательские Сортировать:

    Природа (CompareTo):

            0: равно
            Положительный: более
            Отрицательный: меньше
Примечание: Кто есть кто в большом
 

    Обратный порядок:

            Spoofer: Deception большой ---> небольшой отрицательный ---> положительный

    Объект реализует интерфейс:

            Compareable | WritableCompareable <Bean>
 

Пользовательские Перегородки:

    Определение раздела:
        Определяет выходную карту, в которой ключевое значение на reduceTask
    правила по умолчанию разделов:
        HashPartitioner (key.hashcode% NumReduceTasks)
    Реализация пользовательского секционирования:
        Перегородки GetPartitions переопределять унаследованный метод класса возвращает значение, которое опорное значение раздела
    Пусть настроить эффект раздела:
        job.setPartitionClass ()
    Соотношение между числом и количеством разделов reduceTask:
        Если остаются равными
        Количество многораздельной ошибки незаконного раздела
        Количество разделов пустого файла генерируется небольшое выполнение
 

Сумматор (уменьшение):

        Частично полимеризованный компонент каждого выхода первой частичной полимеризации карты
        Оптимизация сетевого ввода-вывода  
        Уменьшить себя не только небольшой диапазон глобальных
        По умолчанию не открыт
  Примечание: Будьте осторожны: Поскольку количество заказа изменится в конечном результате.
 

Параллелизм механизмы:

    Концепция: так называемая степень параллелизма, оно относится к множеству одновременно
    maptask параллелизм (логика уменьшения ломтика): номер файла размером размера вырезанного
    reducetask параллелизма: Код устанавливается глобальный счетчик относится соблюдать осторожность
 

перетасовать механизмы:

    Концепция: процесс
    Перед началом вывода данных из данных карты принимается в качестве входных данных для уменьшения
    Через средней стадии по карте сети снижения MR является ядром программы является причиной эффективности самого медленным.
 

Сжатие данных:

    Сжатие Цель: уменьшить объем сетевого трафика, уменьшить дисковое пространство, занимаемое окончательным
    Схемы сжатия:
           Количество карты сжатия выхода :( сеть передача)
           выход сжатия redcue :( занимаемого дискового пространства)
    Алгоритмы сжатия:
            Рекомендуемое применение: мгновенное
            поддержка Hadoop зависит от сжатия
                      Проверьте, чтобы поддержать местную библиотеку: Hadoop chechnative
                    Лучшее сочетание Hadoop компилятор поддерживает подмножество алгоритмов сжатия.
                        
    Настройки режима сжатия:
            Непосредственно на карте программы по conf.set () ----- только для мр
            Измените файл конфигурации XML mapred-site.xml ----- глобально действует
 

Параметры оптимизации:

       Включает в себя: ресурсах, отказоустойчивость, стабильность и т.д. ------ Hadoop Официального сайта апите xxx.default.xml (ищите заброшенную собственность --Deprecated Properties)
        

Соотношение между размером операции файла --- (улей между Соединить размер таблицы (комбинированный))

        Все данные, передаваемые в соответствующем поле, чтобы уменьшить обработку такие же, как ключ
                Недостатки: уменьшить перекос данных присоединиться давление может произойти
        Завершить связь между фазой карты данных
            карта вступайте не уменьшить фазу (numreducetask (0)) Часть м-00000
                    Распределенный кэш:
                            Может быть указан файл (архив банка) для текущей программы происходит каждый maptask
                    установка метод инициализации:
                            Для того, чтобы загрузить кэш небольших файлов для текущей программы работы в maptask памяти
                            Сохранить маленький файл, чтобы создать различные типы наборов данных данных
 

    Обработка маленьких файлов сцены:

           Кусочек механизм по умолчанию: -> маленький кусочек файл ----> а срезе, maptask
           CombineTextInputFormat: механизм Slice
           Небольшие файлы:               
 

Пользовательский суб пакет:

    Стадия разработки:
        Перед вызовом уменьшить () метод
    Группа по умолчанию:
        Ряд данных, отсортированных в соответствии с ключом, равны перед и после того, как две (равные или неравные)
    Пользовательский объект в качестве ключа:
        WritableComparator класс пакета, который наследует Примечание: WritableComparable <OrderBean> отсортирован реализовать интерфейс
                Он используется для пакетов Key
                Он находится в ReduceTask, тип по умолчанию GroupingComparator можно также настроить
                WritableComparator обеспечивают основу для вторичного рода средство (наследовать), реагировать на различные потребности бизнеса
                Например GroupingComparator ( пакет компаратор ) будет записать файл на диск и в ReduceTask сгруппированных по ключевым отсортирован, он определяет следующий ключ такой же, та же самая группа Key прошла уменьшить () исполнение

      Пользовательские группировки эффект:

            job.setGroupingComparatorClass (OrderGroupingComparator.class);

 



рекомендация

отwww.cnblogs.com/TiePiHeTao/p/7915a1b78c4cbcecee6949d881d2d8b8.html