Кто-нибудь знает, как реализовать операцию Natural -Join между двумя наборами данных в Hadoop?
Точнее, вот что мне нужно сделать:
У меня есть два набора данных:
информация о точке, которая хранится как (тайл _номер, точка _идентификатор :точка _информация ), это пары значений 1 :n ключей -. Это означает, что для каждого номера тайла _может быть несколько точек _идентификатор :точка _информация
Информация о линии, которая хранится в виде (тайла _номера, строки _идентификатора :строки _информации ), это снова 1 :m ключей -пар значений и для каждого тайл _номер, может быть более одной строки _идентификатор :строка _информация
Как видите, номера тайлов _одинаковы для двух наборов данных. теперь мне действительно нужно соединить эти два набора данных на основе каждого номера тайла _. Другими словами, для каждого номера плитки _у нас есть n точек _id :точка _информация и m строка _id :строка _информация.Что я хочу сделать, так это объединить все пары точек _id :информацию о точке _со всеми парами строк _id :линии _информацию для каждой плитки _номер
Чтобы было понятно, вот пример:
Для пар точек:
(tile0, point0)
(tile0, point1)
(tile1, point1)
(tile1, point2)
для пар линий:
(tile0, line0)
(tile0, line1)
(tile1, line2)
(tile1, line3)
то, что я хочу, выглядит следующим образом:
для плитки 0:
(tile0, point0:line0)
(tile0, point0:line1)
(tile0, point1:line0)
(tile0, point1:line1)
для плитки 1:
(tile1, point1:line2)
(tile1, point1:line3)
(tile1, point2:line2)
(tile1, point2:line3)