-1
私はスカラーが初めてです。サンプルデータ:sparkで地図のレコードの現在値と次の値を比較します
1,"jack",34.5
2,"jackk",14.5
3,"jacky",24.5
4,"jack",64.5
And many more.
最初のレコードの各フィールドを他のすべてのフィールドと比較し、次に2番目を他のものと比較したいと思います。 (Syntaxsを考慮しないでください) 私はコードの下に書かれている:
val data = sc.parallalize(Seq((1,"jack",34.5),
(2,"jackk",14.5),
(3,"jacky",24.5),
(4,"jack",64.5))
val res = data.map{f =>
val rr = f._1.equals(f._1) //here same field compare with each other But I want to compare current record with all next records.
Row(rr)
}
例:私は、コードをクラスタ上で実行する必要がありますしたいので、私は.map
を使用しています
"jack" with "jackk"
"jack" with "jacky"
"jack" with "jack"
"jackk" with "jacky"
"jackk" with "jack"
"jacky" with "jack"
。
お願いします。 ありがとうございました。
data.cartesian(data).map(pair => compare(pair._1, pair._2))
が、 'デカルト' 操作は、N×N個のスペースを取ることに注意してください:
パターンマッチングを検討できますか? –
パターンマッチングは考慮しないでください。 –