Dołącz dwa zestawy danych w Mapreduce / Hadoop

Czy ktoś wie, jak zaimplementować operację Natural-Join między dwoma zestawami danych w Hadoop?

Dokładniej, oto co dokładnie muszę zrobić:

Mam dwa zestawy danych:

informacja punktowa, która jest przechowywana jako (numer_płytki, punkt_id: punkt_info), jest parą klucz-wartość 1: n. Oznacza to, że dla każdego numeru_płytki może być kilka point_id: point_info

Informacje o linii, które są przechowywane jako (numer_płytki, id_linii: line_info), jest to ponownie para klucz-wartość 1: m, a dla każdego numeru_płytki może być więcej niż jeden line_id: line_info

Jak widać liczby_płytki są takie same między dwoma zestawami danych. teraz naprawdę potrzebuję połączyć te dwa zestawy danych w oparciu o każdy numer_płytki. Innymi słowy dla każdego numeru_płytki, mamy n point_id: point_info i m line_id: line_info. Chcę połączyć wszystkie pary point_id: point_info ze wszystkimi parami line_id: line_info dla każdego numeru_płytki

Aby wyjaśnić, oto przykład:

Dla par punktów:

(tile0, point0)
(tile0, point1)
(tile1, point1)
(tile1, point2)

dla par linii:

(tile0, line0)
(tile0, line1)
(tile1, line2)
(tile1, line3)

chcę:

dla płytki 0:

 (tile0, point0:line0)
 (tile0, point0:line1)
 (tile0, point1:line0)
 (tile0, point1:line1)

dla płytki 1:

 (tile1, point1:line2)
 (tile1, point1:line3)
 (tile1, point2:line2)
 (tile1, point2:line3)

questionAnswers(3)

yourAnswerToTheQuestion