Hi Dominique, It seems that `SourceA` is not dealt as POJO. Are all fields in SourceA public? There are some requirements for POJO classes [1].
[1]: https://ci.apache.org/projects/flink/flink-docs-release-0.10/apis/programming_guide.html#pojos Regards, Chiwan Park > On Feb 9, 2016, at 7:42 PM, Dominique Rondé <dominique.ro...@codecentric.de> > wrote: > > Hi folks, > > i try to join two datasets containing some PoJos. Each PoJo inherit a field > "sessionId" from the parent class. The field is private but has a public > getter. > > The join is like this: > DataSet<Tuple2<SourceA,SourceB>> joinedDataSet = > sourceA.join(SourceB).where("sessionId").equalTo("sessionId"); > > But the result is the following execption: > > Exception in thread "main" > org.apache.flink.api.common.InvalidProgramException: This type > (GenericType<x.y.z.service.eventstore.dto.SourceA>) cannot be used as key. > at > org.apache.flink.api.java.operators.Keys$ExpressionKeys.<init>(Keys.java:287) > at > org.apache.flink.api.java.operators.JoinOperator$JoinOperatorSets.where(JoinOperator.java:890) > at > x.y.z.eventstore.processing.pmc.PmcProcessor.main(PmcProcessor.java:55) > > I spend some time with google around but I don't get an idea what is wrong. I > hope some of you can give me a hint... > > Greets > Dominique >