Domanda

Sono molto nuovo a Hadoop e attualmente sto cercando di unire due fonti di dati in cui la chiave è un intervallo (ad esempio [data-begin / data -fine]). Ad esempio:

input1:

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

input2:

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

Mi piacerebbe trovare tutti i record in cui il key1 sovrappone il key2. E 'possibile con Hadoop? Dove posso trovare un esempio di implementazione?

Grazie.

È stato utile?

Soluzione

Una soluzione è stata data su Biostar: http://biostar.stackexchange.com/questions/8821

Altri suggerimenti

Credo tutto ciò che serve è una classe chiave in cui hashCode () e equals () fare quello che vuoi che facciano. Ho il sospetto che si potrebbe riscontrare un problema in cui A si sovrappone B (cioè A.equals (B) == true), B si sovrappone C, ma C non si sovrappone A. Se si implementa un tale metodo Equals (), ti probabilmente ottenere un comportamento strano.

In sostanza, si vuole fare qualcosa di simile a coltellate query su un Segmento Albero (ad esempio per tutti gli intervalli sovrapposti e per un intervallo (p1.start, p1.end), eseguono lancinante query per p1.start e p1.end).

Ma in fondo, no, non so una risposta corretta alla tua domanda. Ma forse una query per "albero di settore" Hadoop ad iniziare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top