Hadoop: интервалы и JOIN - PullRequest
       13

Hadoop: интервалы и JOIN

2 голосов
/ 02 декабря 2009

Я очень плохо знаком с Hadoop , и в настоящее время я пытаюсь объединить два источника данных, где ключом является интервал (скажем, [дата-начало / дата-конец ]). Например:

input1:

20091001-20091002    A
20091011-20091104    B
20080111-20091103    C
(...)

input2:

20090902-20091003    D
20081015-20091204    E
20040011-20050101    F
(...)

Я бы хотел найти все записи, где ключ1 перекрывает ключ2. Возможно ли это с помощью hadoop? Где я могу найти пример реализации?

Спасибо.

Ответы [ 2 ]

1 голос
/ 05 июня 2011

На Биостаре было дано решение: http://biostar.stackexchange.com/questions/8821

0 голосов
/ 02 декабря 2009

Я думаю, что все, что нужно, это ключевой класс, где hashCode () и equals () делают то, что вы хотите, чтобы они делали. Я подозреваю, что вы можете столкнуться с проблемой, когда A перекрывает B (то есть A.equals (B) == true), B перекрывает C, но C не перекрывает A. Если вы реализуете такой метод equals (), вы будете возможно странное поведение

По сути, вы хотите сделать что-то вроде колотых запросов в дереве сегментов (т.е. для всех перекрывающихся интервалов E для интервала (p1.start, p1.end), выполнить колющие запросы для p1.start и p1.end).

Но в основном нет, я не знаю правильного ответа на ваш вопрос. Но, возможно, запрос для "Дерево сегментов" hadoop поможет вам начать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...