Hadoop: intervalos y unirse
Pregunta
Estoy muy nuevo en Hadoop y actualmente estoy tratando de unir dos fuentes de datos donde la clave es un intervalo de (por ejemplo [fecha-begin / fecha -fin]). Por ejemplo:
ENTRADA 1:
20091001-20091002 A
20091011-20091104 B
20080111-20091103 C
(...)
INPUT2:
20090902-20091003 D
20081015-20091204 E
20040011-20050101 F
(...)
Me gustaría encontrar todos los registros en los que se superpone a la key1 clave2. ¿Es posible con Hadoop? ¿Dónde puedo encontrar un ejemplo de implementación?
Gracias.
Solución
Una solución fue dado en Biostar: http://biostar.stackexchange.com/questions/8821
Otros consejos
Creo que todo lo que se necesita es una clase de clave, donde hashCode () y equals () hacen lo que usted quiere que hagan. Sospecho que puede encontrarse con un problema en el que se superpone Un método B (es decir A.equals (B) == true), B se superpone C, pero C no se solapa A. Si implementa un signo de igual tipo (De), se le probablemente obtener un comportamiento extraño.
Básicamente, usted quiere hacer algo como apuñalar a consultas en un árbol Segmento (es decir, para todos los intervalos de superposición de e para un intervalo (p1.start, p1.end), realizan punzante consultas para p1.start y p1.end).
Pero, básicamente, no, no sé la respuesta correcta a su pregunta. Pero tal vez una consulta para hadoop "árbol segmento" se empezar.