फिलहाल किसी भी डीबीएमएस को आरडीडी लिखने का कोई मूल कार्यान्वयन नहीं है। स्पार्क उपयोगकर्ता सूची में संबंधित चर्चाओं के लिंक यहां दिए गए हैं:एक , दो
सामान्य तौर पर, सबसे अधिक प्रदर्शन करने वाला दृष्टिकोण निम्नलिखित होगा:
- RDD में विभाजनों की संख्या की पुष्टि करें, यह बहुत कम और बहुत अधिक नहीं होना चाहिए। संख्या कम होने पर 20-50 विभाजन ठीक होना चाहिए -
repartition
call पर कॉल करें 20 विभाजनों के साथ, यदि उच्चतर हो -coalesce
. पर कॉल करें 50 विभाजनों तक mapPartition
को कॉल करें परिवर्तन, इसके अंदर जेडीबीसी का उपयोग करके अपने डीबीएमएस में रिकॉर्ड डालने के लिए फ़ंक्शन को कॉल करें। इस फ़ंक्शन में आप अपने डेटाबेस से कनेक्शन खोलते हैं और COPY कमांड का उपयोग यह एपीआई , यह आपको प्रत्येक रिकॉर्ड के लिए एक अलग कमांड की आवश्यकता को समाप्त करने की अनुमति देगा - इस तरह से इंसर्ट को बहुत तेजी से संसाधित किया जाएगा
इस तरह आप 50 समानांतर कनेक्शन (आपके स्पार्क क्लस्टर आकार और इसके कॉन्फ़िगरेशन पर निर्भर करता है) का उपयोग करके समानांतर फैशन में डेटा को पोस्टग्रेज में सम्मिलित करेंगे। आरडीडी और कनेक्शन स्ट्रिंग को स्वीकार करने वाले जावा/स्कैला फ़ंक्शन के रूप में संपूर्ण दृष्टिकोण लागू किया जा सकता है