age.foreach(println)
1,5
2,25
3,30
年龄有 id 和年龄。现在我必须创建像 如果(年龄>=1 && 年龄<10) "1-10" 否则 if(年龄 >=10 && 年龄<20) "10-20" 否则“30+”
所以上述数据的结果应该是
1, 1-10
2, 10-20
3, 30+
Val ager = age.map(x => (x(0),(If(x(1)>=1 && x(1)<10) "1- 10"
Else if(x(1) >=10 && x(1)<20) "10-20"
Else "30+")))
我收到以下错误: 错误:org.apache.spark.rdd.RDD[(String,Int)] 不接受参数
请帮我解决这个问题。
最佳答案
元组元素不能像x(0)
那样访问,而是x._1
等
这应该有效:
val ager = age.map(x =>
(x._1, (if (x._2 >= 1 && x._2 < 10) "1- 10"
else if (x._2 >= 10 && x._2 < 20) "10-20"
else "30+"))
)
关于scala - 错误 : org. apache.spark.rdd.RDD[(String,Int)] 不带参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40971953/