Это выглядит как проблема:
.map((k: Int, ies: Array[InputEntry]) => (k, doMyStuff(ies)))
Вам нужно использовать оператор case, чтобы отменить применение параметров и назначить их локальным переменным. Вам также нужно использовать {} вместо (), потому что теперь это анонимная функция.
entries.groupBy(grouper).map{case (k, ies) => (k, doMyStuff(ies))}
Вот более простой пример.
scala> val x = List(("a",1),("b",2))
x: List[(java.lang.String, Int)] = List((a,1), (b,2))
scala> x.map{ case (str, num) => num }
res5: List[Int] = List(1, 2)
Если вы не хотите использовать оператор case, вы должны сохранить кортеж как одну переменную.
scala> x.map(tuple => tuple._2)
res6: List[Int] = List(1, 2)