मुझे एक डेटाफ्रेम मिला है जिस पर मैं काम कर रहा हूं, और मैं कॉलम के एक सेट द्वारा समूह करना चाहता हूं और शेष कॉलम पर प्रति-समूह संचालित करना चाहता हूं। नियमित RDD
-land में मुझे लगता है कि यह कुछ इस तरह दिखेगा:स्पार्क डेटाफ्रेम: समूहों पर संचालित
rdd.map(tup => ((tup._1, tup._2, tup._3), tup)).
groupByKey().
forEachPartition(iter => doSomeJob(iter))
DataFrame
में -land मैं इस तरह शुरू कर दूं:
df.groupBy("col1", "col2", "col3") // Reference by name
लेकिन तब मुझे यकीन है कि पर काम करने के लिए कैसे नहीं कर रहा हूँ समूह यदि मेरे ऑपरेशन GroupedData द्वारा प्रस्तावित औसत/न्यूनतम/अधिकतम/गिनती से अधिक जटिल हैं।
उदाहरण के लिए, मैं (समूह में जुड़े रों के माध्यम से पुनरावृत्ति द्वारा) ("col1", "col2", "col3")
समूह के लिए एक एकल MongoDB दस्तावेज़ निर्माण, N
विभाजन करने के लिए नीचे पैमाने पर है, तो एक MongoDB डेटाबेस में डॉक्स सम्मिलित करना चाहते हैं। N
सीमा एक साथ कनेक्शन के अधिकतम संख्या है जो मैं चाहता हूं।
कोई सलाह?
बेस्ट वे: एक यूडीएफ़ लिखें (अभी तक समर्थित नहीं है, स्पार्क -4233 और स्पार्क -3947 देखें)। तब तक, आरडीडी विधियों तक पहुंचने के लिए डीएफ.आरडीडी का उपयोग करें, जैसे कि आप –