Входные данные: Файл pokemon.xlsx. Структура полей в файле: number, name, type, hp, attack, defense, special attack, special defense, speed. Задача: Преобразовать файл из формата xlsx в файл (csv) с разделителем (на ваш выбор). Для каждого типа(type) покемонов вывести имя покемона:
- с самым большим кол-вом HP
- с маленькой атакой
- с высокой защитой
- самого медленного Выходная структура: type, tank, feeble, defender, slowpoke.
UPD: Новое решение UPD: Старое решение UPD: Выходной файл
Сначала сконвертировал pokemon.xlsx в pokemon.csv с разделителем ";". Вот как это выглядит в LibreOffice Calc:
А потом уже делал по аналогии с WordCount.
UPD: Старое решение UPD: Выходной файл
Вместо старого решения со сборкой в мапере всех полей в один Text и последующего сплита в редьюсере, в новом решении заюзал ArrayWritable, отнаследовавшись от него в служебном классе TextArrayWritable.
Помогли мануалы: Class ArrayWritable Package org.apache.hadoop.io
и еще вот такой примерчик:
public class TextArrayWritable extends ArrayWritable {
public TextArrayWritable() {
super(Text.class);
}
}
UPD: Новое решение UPD: Выходной файл