2016-07-20 21 views
-1

I 2 pairRdds haben, ihre Tupel definiert alsvergleichen zwischen zwei pairRDD

Tuple2 <Integer,int[]> 

, was ich will zu tun ist Tupel von beiden RDDs zu finden, die den gleichen Schlüssel haben, als jedes einzelne Elemente des Wertes Teil vergleichen (int []) aus Ra mit anderen Elementen aus Rb, als Rückgabe in result_RDD Res nur Tupel, die in beiden von rdds erscheinen, gleiche Schlüssel und gleiche Werte von jedem Element des zweiten Teils (int []), geben ein Beispiel, lässt annehmen:

Ra={(1,(2,3)) (4,(9,2)) (5,(88,2)) (77,(6,1))...} 
    Rb={(1,(5,5)) (4,(9,2)) (9,(22,0)) (5,(88,2))..} 

    Res={(4,(9,2)) (5,(88,2))} 

i in RESult2_RDD auch zurückkehren möchten, Tupeln von Ra, die in beiden erscheinen von RDDs, aber diesmal gleichen Schlüssel und anderen Wert (Mittel (int []) Teil),

RESULT2_RDD= {(1,(2,3)) ...} 

Hilfe bitte ....

Antwort

3

Sie suchen intersection

val Res = Ra.intersection(Rb) 
+0

__Note : __ _intersection_ behält keine Duplikate in der resultierenden RDD. – avr

+0

Ich habe versucht mit Hammads Datensatz, aber Res gibt mir ein leeres Paar RDD, keine Ahnung, wie das passiert? –

+0

@avr Ich brauche keine Duplikate, ich werde es testen und sehen, danke Ihnen allen – hammad