Таленд - уменьшить карту
В предыдущей главе мы увидели, как Talend работает с большими данными. В этой главе давайте поймем, как использовать карту Reduce с Talend.
Создание задания Talend MapReduce
Давайте узнаем, как запустить задание MapReduce в Talend. Здесь мы запустим пример подсчета слов MapReduce.
Для этого щелкните правой кнопкой мыши Job Design и создайте новое задание - MapreduceJob. Укажите подробные сведения о работе и нажмите «Готово».
Добавление компонентов в задание MapReduce
Чтобы добавить компоненты в задание MapReduce, перетащите пять компонентов Talend - tHDFSInput, tNormalize, tAggregateRow, tMap, tOutput из поддона в окно конструктора. Щелкните правой кнопкой мыши на tHDFSInput и создайте основную ссылку на tNormalize.
Щелкните правой кнопкой мыши tNormalize и создайте основную ссылку на tAggregateRow. Затем щелкните правой кнопкой мыши tAggregateRow и создайте основную ссылку на tMap. Теперь щелкните правой кнопкой мыши на tMap и создайте основную ссылку на tHDFSOutput.
Настройка компонентов и преобразований
В tHDFSInput выбираем дистрибутив cloudera и его версию. Обратите внимание, что URI Namenode должен быть «hdfs: //quickstart.cloudera: 8020», а имя пользователя должно быть «cloudera». В параметре имени файла укажите путь к входному файлу для задания MapReduce. Убедитесь, что этот входной файл присутствует в HDFS.
Теперь выберите тип файла, разделитель строк, разделитель файлов и заголовок в соответствии с вашим входным файлом.
Щелкните изменить схему и добавьте поле «строка» в качестве строкового типа.
В tNomalize столбец для нормализации будет строкой, а разделителем элементов будет пробел -> ««. Теперь щелкните изменить схему. tNormalize будет иметь столбец строки, а tAggregateRow будет иметь 2 столбца word и wordcount, как показано ниже.
В tAggregateRow поместите слово как выходной столбец в параметре «Группировать по». В операциях укажите wordcount как выходной столбец, функцию как count и позицию входного столбца как строку.
Теперь дважды щелкните компонент tMap, чтобы войти в редактор карт и сопоставить ввод с требуемым выводом. В этом примере слово отображается в слово, а количество слов отображается в слово. В столбце выражения щелкните […], чтобы войти в построитель выражений.
Теперь выберите StringHandling из списка категорий и функцию UPCASE. Измените выражение на «StringHandling.UPCASE (row3.word)» и нажмите «ОК». Сохраните row3.wordcount в столбце выражения, соответствующем количеству слов, как показано ниже.
В tHDFSOutput подключитесь к кластеру Hadoop, который мы создали из типа свойства в качестве репозитория. Обратите внимание, что поля будут заполнены автоматически. В поле Имя файла укажите путь вывода, в котором вы хотите сохранить вывод. Сохраните действие, разделитель строк и разделитель полей, как показано ниже.
Выполнение задания MapReduce
После успешного завершения настройки щелкните «Выполнить» и выполните задание MapReduce.
Перейдите по пути к HDFS и проверьте результат. Обратите внимание, что все слова будут в верхнем регистре с их количеством слов.