2016-03-29 4 views
0

Die unten erweiterte Klasse von RichGroupReduceFunction, kompiliert nicht. Die Signatur stimmt scheinbar nicht mit der Schnittstelle überein. Ich kann den Unterschied nicht unterscheiden.Korrekte Methodensignatur für RichGroupReduceFunction?

class SPointReduce extends RichGroupReduceFunction[Int, Int] { 
     override def reduce (
           values: Iterable[Int], 
           out: Collector[Int]): Unit = { 
     values.foreach { 
      value: Int => 
      out.collect(value) 
     } 
     } 
    } 

Der Compiler Berichte:

Error:(62, 16) method reduce overrides nothing. Note: the super classes of class SPointReduce contain the following, non final members named reduce: def reduce(x$1: Iterable[Nothing],x$2: org.apache.flink.util.Collector[Nothing]): Unit override def reduce (

Antwort

0

Sie müssen sicherstellen, dass Sie die java.lang.Iterable importieren, wenn Sie die reduce Methode der RichGroupReduceFunction außer Kraft setzen. Andernfalls erhalten Sie den oben genannten Fehler.

+0

Das macht Sinn. Vielen Dank. –