It seems the type of your initial accumulator, which is Map[EWayCoordinates,Set[VehicleID]], does not match the accumulator type on your FoldFunction, which is Map[EWayCoordinates,Set[Int]]. Could you change that?
On Sat, 25 Feb 2017 at 04:09 nsengupta <sengupta.nirma...@gmail.com> wrote: > Hello Aljoscha, > > Many thanks for taking this up. > > This is the modified code: > > ---------------------------------------------------------------------------------- > val uniqueVehicles = envDefault > .fromCollection(readings) > .map(e => MITSIMUtils.preparePositionReport(e)) > .assignAscendingTimestamps(e => e.timeOfReport) > .keyBy(e => ( > e.eWayCoordinates.eWayID, > e.eWayCoordinates.eWayDir, > e.eWayCoordinates.eWaySegment, > e.vehicleDetails.vehicleID)) > .windowAll(TumblingEventTimeWindows.of(Time.seconds(30))) > .fold( > // Seed > Map[EWayCoordinates,Set[VehicleID]](), > > // FoldFunction > folder, > > // WindowFunction > windower > > // I have taken the TupleTypeInfo out, to see what the compiler > says! > // Satisfying the compiler: > > /*new TupleTypeInfo[Map[EWayCoordinates,Set[VehicleID]]](), > new TupleTypeInfo[(EWayCoordinates,Int)]*/ > ) > > ---------------------------------------------------------------------------------- > > And, this is what the compiler says: > > ---------------------------------------------------------------------------------- > [INFO] Compiling 3 source files to > /home/nirmalya/Workspace-Flink/LinearRoad/target/test-classes at > 1487991829901 > [ERROR] > > /home/nirmalya/Workspace-Flink/LinearRoad/src/test/scala/org/nirmalya/exercise/StreamStateTest.scala:137: > error: overloaded method value fold with alternatives: > [ERROR] [ACC, R](initialValue: ACC, preAggregator: (ACC, > org.nirmalya.exercise.Elements.PositionReport) => ACC, windowFunction: > (org.apache.flink.streaming.api.windowing.windows.TimeWindow, > Iterable[ACC], > org.apache.flink.util.Collector[R]) => Unit)(implicit evidence$7: > org.apache.flink.api.common.typeinfo.TypeInformation[ACC], implicit > evidence$8: > > org.apache.flink.api.common.typeinfo.TypeInformation[R])org.apache.flink.streaming.api.scala.DataStream[R] > <and> > [ERROR] [ACC, R](initialValue: ACC, preAggregator: > > org.apache.flink.api.common.functions.FoldFunction[org.nirmalya.exercise.Elements.PositionReport,ACC], > windowFunction: > > org.apache.flink.streaming.api.scala.function.AllWindowFunction[ACC,R,org.apache.flink.streaming.api.windowing.windows.TimeWindow])(implicit > evidence$5: org.apache.flink.api.common.typeinfo.TypeInformation[ACC], > implicit evidence$6: > > org.apache.flink.api.common.typeinfo.TypeInformation[R])org.apache.flink.streaming.api.scala.DataStream[R] > [ERROR] cannot be applied to > > (scala.collection.immutable.Map[org.nirmalya.exercise.Elements.EWayCoordinates,Set[org.nirmalya.exercise.Elements.VehicleID]], > > org.apache.flink.api.common.functions.FoldFunction[org.nirmalya.exercise.Elements.PositionReport,Map[org.nirmalya.exercise.Elements.EWayCoordinates,Set[Int]]], > > org.apache.flink.streaming.api.functions.windowing.AllWindowFunction[Map[org.nirmalya.exercise.Elements.EWayCoordinates,Set[org.nirmalya.exercise.Elements.VehicleID]],(org.nirmalya.exercise.Elements.EWayCoordinates, > Int),org.apache.flink.streaming.api.windowing.windows.Window]) > [ERROR] .fold( > [ERROR] ^ > [ERROR] one error found > [INFO] > ------------------------------------------------------------------------ > [INFO] BUILD FAILURE > [INFO] > ------------------------------------------------------------------------ > > > ---------------------------------------------------------------------------------- > > > > -- > View this message in context: > http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/Compilation-Error-in-WindowStream-fold-tp11830p11910.html > Sent from the Apache Flink User Mailing List archive. mailing list archive > at Nabble.com. >