spark使用下划线作为RDD.flatmap或map的参数

时间:2017-09-13 12:01:54

标签: scala dictionary apache-spark rdd flatmap

这是我的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中_可以称为实际参数类型,对吗?

1 个答案:

答案 0 :(得分:-2)

请参阅问题here

基本上,_本身不定义函数。当在匿名函数语法中使用它时,它可以用作变量名的占位符,但是当它本身使用时,它就没有任何意义。