6
मान लीजिएपाइथन के साथ स्पार्क में दो आरडीडी कैसे जुड़ें?
rdd1 = ((a, 1), (a, 2), (b, 1)),
rdd2 = ((a, ?), (a, *), (c, .)).
((a, (1, ?)), (a, (1, *)), (a, (2, ?)), (a, (2, *))).
कोई आसान तरीकों उत्पन्न करने के लिए करना चाहते हैं? मुझे लगता है कि यह क्रॉस में शामिल होने से अलग है लेकिन एक अच्छा समाधान नहीं मिल रहा है। मेरे समाधान
(rdd1
.cartesian(rdd2)
.filter(lambda (k, v): k[0]==v[0])
.map(lambda (k, v): (k[0], (k[1], v[1]))))
जो आपने वर्णित किया वह वास्तव में एक प्राकृतिक जुड़ाव है। क्रॉस जॉइन बस एक कार्टेशियन उत्पाद है। – zero323