2016-12-05 10 views
1

age.foreach(のprintlnを)取ることはありませんエラー:org.apache.spark.rdd.RDD [(文字列、Intが)]パラメータに

1,5 
2,25 
3,30 

年齢はidと年齢を持っています。今私は、If(年齢> = 1 & &年齢< 10) "1-10" そうであれば(年齢> = 10 & &年齢< 20) "10-20" エルス のように作成する必要があり、 "30+"

したがって、上記のデータの結果は

1、1-10

2、10-20

3、30+

012でなければなりません
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 [(文字列、intは)]パラメータ

をとらない親切に私はこの問題を解決するのに役立ちます。

答えて

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+")) 
)