Я новичок в искре и пытаюсь найти способ интегрировать информацию из одного rdd в другой, но их структуры не поддаются стандартной функции соединения.
У меня на rdd такого формата:
[{a:a1, b:b1, c:[1,2,3,4], d:d1},
{a:a2, b:b2, c:[5,6,7,8], d:d2}]
и еще один такого формата:
[{1:x1},{2,x2},{3,x3},{4,x4},{5,x5},{6,x6},{7,x7},{8,x8}]
Я хочу сопоставить значения во втором rdd с их ключами в первом rdd (которые находятся в значении списка в ключе c). Я знаю, как манипулировать ими, когда они там, поэтому меня не слишком беспокоит окончательный результат, но, может быть, я хотел бы увидеть что-то вроде этого:
[{a:a1, b:b1, c:[1,2,3,4],c0: [x1,x2,x3,x4], d:d1},
{a:a2, b:b2, c:[5,6,7,8],c0: [x5,x6,x7,x8], d:d2}]
или это:
[{a:a1, b:b1, c:[(1,x1),(2,x2),(3,x3),(4,x4)], d:d1},
{a:a2, b:b2, c:[(5,x5),(6,x6),(7,x7),(8,x8)], d:d2}]
или что-нибудь еще, что может сопоставить ключи во втором rdd со значениями в первом. Я думал превратить второй rdd в словарь, с которым я знаю, как работать, но я просто думаю, что мои данные слишком велики для этого.
Большое спасибо, я очень ценю это.