Я работаю над проектом spark в IDE затмения, используя scala
Мне нужна помощь с этой проблемой MapReduce
Функция карты:
- удалить столбцы "спорт" и "биржа"
- удалить любую строку с NULL
- Добавить новый цикл продолжительности столбца. Это должно принимать значение в зависимости от цикла студента: лицензия (3 года), магистр (3 года), Ingeniorat (5 лет) и докторантура (3 года)
Разбавление:
- суммируйте всех студентов в зависимости от года, цикла и специальности.
мой ввод
matricule, dateins, цикл, specialite, биржа, спорт
0000000001,1999-11-22, Master, IC, Non, Non
0000000002,2014-02-01, Null, IC, Null, Oui
0000000003,2006-09-07, Null, Null, Oui, Oui
0000000004,2008-12-11, Master, IC, Oui, Oui
0000000005,2006-06-07, Master, SI, Non, Oui
0000000006,1996-11-16, Ingeniorat, SI, Null, Null
и т. Д.
Это код, с которого я начинаю. Я удалил колонку 'спорт' 'биржу' и извлек год
val sc = new SparkContext(conf)
val x = sc.textFile("/home/amel/one")
val re = x.map(_.split(",")).foreach(r => println(r(1).dropRight(6), r(2),r(3)))
это результат, который я получил
(2000, лицензия, Isil)
(2001, Master, SSI)
Результат, который я хочу получить:
Продолжительность годичного цикла по специальности Nbr-студентов
(2000, лицензия, 3 года, Isil, 400)
(2001, магистр, 3 года, SSI, 120)
// Я хочу, чтобы в столбце «Nbr-студентов» было указано количество студентов каждого года в зависимости от их цикла и специальности.