Учебники

Таленд — Карта Уменьшить

В предыдущей главе мы увидели, как Talend работает с большими данными. В этой главе давайте разберемся, как использовать карту Reduce with Talend.

Создание задания Talend MapReduce

Давайте узнаем, как запустить задание MapReduce в Talend. Здесь мы запустим пример подсчета слов в MapReduce.

Для этого щелкните правой кнопкой мыши Job Design и создайте новую работу — MapreduceJob. Упомяните детали работы и нажмите Готово.

Карта Уменьшить Работа

Добавление компонентов в MapReduce Job

Чтобы добавить компоненты в задание MapReduce, перетащите пять компонентов Talend — tHDFSInput, tNormalize, tAggregateRow, tMap, tOutput из окна поддона в конструктор. Щелкните правой кнопкой мыши tHDFSInput и создайте основную ссылку для tNormalize.

Щелкните правой кнопкой мыши tNormalize и создайте основную ссылку на tAggregateRow. Затем щелкните правой кнопкой мыши tAggregateRow и создайте основную ссылку на tMap. Теперь щелкните правой кнопкой мыши на tMap и создайте основную ссылку на tHDFSOutput.

Добавление компонентов Map Reduce

Конфигурирование компонентов и преобразований

В tHDFSInput выберите дистрибутив cloudera и его версию. Обратите внимание, что Namenode URI должен быть «hdfs: //quickstart.cloudera: 8020», а имя пользователя должно быть «cloudera». В опции имени файла укажите путь вашего входного файла к заданию MapReduce. Убедитесь, что этот входной файл присутствует в HDFS.

Теперь выберите тип файла, разделитель строк, разделитель файлов и заголовок в соответствии с вашим входным файлом.

Трансформации

Нажмите на редактировать схему и добавьте поле «line» как строковый тип.

Тип строки

В tNomalize нормализуемым столбцом будет строка, а разделителем элементов будет пробел -> ««. Теперь нажмите «Изменить схему». У tNormalize будет строчный столбец, а у tAggregateRow будет 2 столбца word и wordcount, как показано ниже.

нормироватьСовокупный ряд

В tAggregateRow поместите слово в качестве выходного столбца в Group by option. В операциях укажите wordcount в качестве выходного столбца, функцию в качестве счетчика и позицию столбца ввода в качестве строки.

Количество слов

Теперь дважды щелкните компонент tMap, чтобы войти в редактор карт и сопоставить ввод с требуемым выводом. В этом примере слово отображается с word, а wordcount отображается с wordcount. В столбце выражений нажмите […], чтобы войти в построитель выражений.

Теперь выберите StringHandling из списка категорий и функцию UPCASE. Измените выражение на «StringHandling.UPCASE (row3.word)» и нажмите «ОК». Сохраните row3.wordcount в столбце выражения, соответствующем wordcount, как показано ниже.

Обработка строк

В tHDFSOutput подключитесь к кластеру Hadoop, который мы создали из типа свойства как хранилище. Обратите внимание, что поля будут заполнены автоматически. В поле Имя файла укажите выходной путь, в котором вы хотите сохранить выходные данные. Сохраните действие, разделитель строк и разделитель полей, как показано ниже.

Полевой Разделитель

Выполнение задания MapReduce

Как только ваша конфигурация будет успешно завершена, нажмите Run и выполните задание MapReduce.

Конфигурация успешна

Перейдите на путь HDFS и проверьте вывод. Обратите внимание, что все слова будут в верхнем регистре с их количеством слов.