ok, thanks for the help Stephan!
On 2 Jul 2015 20:05, "Stephan Ewen" <se...@apache.org> wrote:

> Hi Flavio!
>
> Keys cannot be null in Flink, that is a contract deep in the system.
>
> Filter out the null valued elements, or, if you want them in the result, I
> would try to use a special value for "null". That should do it.
>
> BTW: In SQL, joining on null usually filters out elements, as key
> operations on null are undefined.
>
> Greetings,
> Stephan
>
>
> On Thu, Jul 2, 2015 at 7:10 PM, Flavio Pompermaier <pomperma...@okkam.it>
> wrote:
>
>> Hi to all,
>>
>> I'd like to join 2 datasets of POJO, let's say for example:
>>
>> Person:
>>  - name
>>  - birthPlaceId
>>
>> Place:
>>  - id
>>  - name
>>
>> I'd like to do
>> people.coCoGroup(places).where("birthPlaceId").equalTo("id").with(...)
>>
>> However, not all people have a birthPlaceId value in my use case..so I
>> get a NullPointer.
>> Am I using the wrong operator for this?
>> This is the stackTrace:
>>
>> java.lang.RuntimeException: A NullPointerException occured while
>> accessing a key field in a POJO. Most likely, the value grouped/joined on
>> is null. Field name: birthPlaceId
>> at
>> org.apache.flink.api.java.typeutils.runtime.PojoComparator.hash(PojoComparator.java:217)
>> at
>> org.apache.flink.runtime.operators.shipping.OutputEmitter.hashPartitionDefault(OutputEmitter.java:175)
>> at
>> org.apache.flink.runtime.operators.shipping.OutputEmitter.selectChannels(OutputEmitter.java:132)
>> at
>> org.apache.flink.runtime.operators.shipping.OutputEmitter.selectChannels(OutputEmitter.java:28)
>> at
>> org.apache.flink.runtime.io.network.api.writer.RecordWriter.emit(RecordWriter.java:78)
>> at
>> org.apache.flink.runtime.operators.shipping.OutputCollector.collect(OutputCollector.java:65)
>>
>> Best,
>> Flavio
>>
>
>

Reply via email to