2017-05-14 7 views

उत्तर

25

मेरी मदद आप उन्हें स्पष्ट करने के लिए करते हैं, दोनों का उपयोग करने के लिए आम और महत्वपूर्ण हैं!

def join[W](other: RDD[(K, W)]): RDD[(K, (V, W))] 

इस में शामिल होने, कृपया ध्यान से यह पर देखने के prototype है। उदाहरण के लिए,

val rdd1 = sc.makeRDD(Array(("A","1"),("B","2"),("C","3")),2) 
val rdd2 = sc.makeRDD(Array(("A","a"),("C","c"),("D","d")),2) 

scala> rdd1.join(rdd2).collect 
res0: Array[(String, (String, String))] = Array((A,(1,a)), (C,(3,c))) 

सभी कुंजियाँ कि अंतिम परिणाम में दिखाई देगा rdd1 और rdd2 लिए आम है। यह relation database operation INNER JOIN के समान है।

लेकिन cogroup अलग है,

def cogroup[W](other: RDD[(K, W)]): RDD[(K, (Iterable[V], Iterable[W]))] 

के रूप में एक महत्वपूर्ण कम से कम दो rdds में से किसी में दिखाई देते हैं, यह अंतिम परिणाम में दिखाई देगा, मुझे यह स्पष्ट करते हैं:

val rdd1 = sc.makeRDD(Array(("A","1"),("B","2"),("C","3")),2) 
val rdd2 = sc.makeRDD(Array(("A","a"),("C","c"),("D","d")),2) 

scala> var rdd3 = rdd1.cogroup(rdd2).collect 
res0: Array[(String, (Iterable[String], Iterable[String]))] = Array(
(B,(CompactBuffer(2),CompactBuffer())), 
(D,(CompactBuffer(),CompactBuffer(d))), 
(A,(CompactBuffer(1),CompactBuffer(a))), 
(C,(CompactBuffer(3),CompactBuffer(c))) 
) 

यह similar से relation database operation FULL OUTER JOIN है, लेकिन प्रति रिकॉर्ड प्रति परिणाम परिणाम को फ़्लैट करने के बजाय, यह आपको आपको पर देगा, निम्नलिखित ऑपरेशन आपके लिए सुविधाजनक है!

शुभकामनाएं!() `यह स्मृति अपवाद` rdd1 = rdd2.cogroup (rdd3) .collect` से बाहर फेंकता है http://spark.apache.org/docs/latest/api/scala/index.html#org.apache.spark.rdd.PairRDDFunctions

+0

जब मैं का उपयोग जैसे बड़े डेटा सेट के लिए 'cogroup' का उपयोग कैसे करें' इकट्ठा:

स्पार्क डॉक्स है। क्या आप इस मुद्दे पर सहायता कर सकते हैं [https://stackoverflow.com/questions/47180307/how-to-use-cogroup-for-large- डेटासेट्स] धन्यवाद। – Vignesh

+0

@ विग्नेश, कृपया एकत्र करने के बजाय लेआउट विधि का उपयोग करें। – ashburshui

+0

yh, 'टेक, टॉप' के साथ प्रयास किया गया है, क्या आप जानते हैं कि नीचे दिए गए कोड – Vignesh

संबंधित मुद्दे