У меня есть две Pcollections
P1 as Pcollection KV<String,Object>
P2 as Pcollection KV<String,Long>
Ключи в обеих Pcollections одинаковы, однако значения разные.
P1 - около 70 миллионов записей, P2 - это подмножество P1 и 30 миллионов записей.
Теперь мне нужно разделить P1 на две коллекции, так что P1.A будет содержать только ключи, найденные в P2, а P1.B будет содержать ключи, которых нет в P2.
Я не хочу использовать co-groupbykey или любое соединение, так как это приводит к перемешиванию данных.
Можно ли использовать 20M записей (все строки) в качестве бокового ввода, вероятно, в качестве HashMap?Это хороший подход?
Предлагаете ли вы какие-либо другие оптимальные подходы для разделения P1 на две коллекции, одна из которых является пересечением ключей в P2, а другая - минус P2?