age.foreach(的println)
1,5
2,25
3,30
年龄有身份和年龄。现在我必须创建像 如果(年龄> = 1&& age< 10)“1-10” 否则如果(年龄> = 10&& age< 20)“10-20” 否则“30 +”
因此上述数据的结果应为
1,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)]不带参数
请帮我解决这个问题。
答案 0 :(得分:1)
元组元素不是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+"))
)