1
私はscalaとsparkに新しいですし、reduceByKeyを実装している間、私は以下のエラーを受け取りました。reduceByKeyの「エラー:単純な式の開始が不正です」はなぜですか?
var redRdd = filterRdd.reduceByKey((acc , val) => if (acc > val) acc else val)
<console>:1: error: illegal start of simple expression
var redRdd = filterRdd.reduceByKey((acc , val) => if (acc > val) acc else val)
filterRddは単なる(order_id、量)タプルです。
scala> filterRdd.first
res10: (Int, Double) = (1,299.98)
パーティションごとに最大値を取得してから、すべてのパーティションの出力を減らしたいと考えています。 誰かがこのエラーが発生する理由を理解するのに役立つことができますか?
ありがとう@ Knight71。私は組み込みを使うべきではありません、ありがとうございます。 上記の手法を使って分を見つけるのを手伝ってもらえますか? –
アキュムレータは常に0に初期化されているので、最小値を得るためにアキュムレータを比較することはできません。あなたは私にいくつかのヒントを教えてくれますか? –
ここでアキュムレータは何ですか? reduceByKeyの例http://dmtolpeko.com/2015/02/12/multi-column-key-and-value-reduce-a-tuple-in-spark/ – Knight71