Вот мой data:RDD[Array[String]]
в искре. И я хочу подсчитать сумму всех длин элементов в данных.
Например, data:(Array(1,2),Array(1,2,3))
. Я хочу получить сумму: 2+3=5; Сначала я использую :data.flatMap(_).count()
,
Ошибка :
ошибка: отсутствует тип параметра для расширенной функции
((x$1) => data.flatMap(x$1))
Но когда я заменяю _
на x=>x
и пишу: data.flatMap(x=>x).count()
, все работает. Поэтому меня смущает _
. Я думаю, что в scala _
можно назвать фактическим типом параметра, верно?
_
неx => x
, а_ + 1
этоx => x + 1
, а_.toArray[Int]
этоx => x.toArray[Int]
. Если вы используете последний в своем коде, он достигнет того же результата. Эмпирическое правило состоит в том, чтобы использовать только_
и только в том случае, если вам нужно применить один оператор, а не два и не ноль. - person yuxiang.li   schedule 06.04.2018