Hi all,

I am using a left join to join two collections:

PCollection<KV<String, Map<String, String>>> p1 = ...
PCollection<KV<String, Map<String, String>>> p2 = ...

Join.leftOuterJoin(p1, p2, Collections.emptyMap())

My question is: how do we provide a null value which matches the schema of
the p2 PCollection if we don't know the schema?

If the Map in p1 consists of some keys including "a", and the Map in p2
contains key "a" as well as some other keys (which are not in p1), what is
the best way to ensure the null value contains all the keys from the Map in
p2 (with empty String values for those keys)? My current idea is to pull
the keys from p2 before the join and use as a side input in a step after
the join, but I'm not sure if there is a simpler option.

Thanks,
Joe

Reply via email to