#java #apache-spark #hadoop #java-pair-rdd
#java #apache-spark #hadoop #java-pair-rdd
Вопрос:
Я создал следующие JavaPairRDD из данных, полученных от разных конечных точек API.
listHeaderRDD<Integer, TeachersList> -> {list_id, list_details}
e.g {1,{list_id:1,name:"abc",quantity:"2"}},
{2,{list_id:2,name:"xyz",quantity:"5"}}...
ItemsGroupListRDD<Integer, Iterable<Tuple2<Integer, TeachersListItem>>> ->
{list_id, {{item_id1,item_details1},{item_id2,item_details2}..}}
e.g {1, {{11,{item_id:11,item_name:"abc"}},{12,{item_id:12,item_name:"acv"}}}..}
{2, {{14,{item_id:14,item_name:"bnh"}},{18,{item_id:18,item_name:"hjk"}}}..}
Желаемый результат:
teachersListRDD<TeachersList, Iterable<TeachersListItem>> -> {list_details, all_item_details}
e.g {{{list_id:1,name:"abc",quantity:"2"},{{item_id:11,item_name:"abc"},{item_id:12,item_name:"acv"}}},
{{list_id:2,name:"xyz",quantity:"5"},{{item_id:14,item_name:"bnh"},{item_id:18,item_name:"hjk"}}}
}
В принципе, я хочу, чтобы значение первого RDD было ключом в желаемом RDD, а группа item_details из второго RDD, соответствующая этому list_id, была значением для желаемого RDD, т. е. teachersListRDD
Я пробовал разные способы сделать это, но не смог получить желаемый результат.
Комментарии:
1. Это похоже на типичную логику объединения?
2. Я хочу это в точном формате, и я новичок в JavaRDDs, что делает это немного сложным для меня.