2015-03-17 15 views
5

द्वारा कैसंड्रा डेटा एकत्रीकरण मैं cassandra स्पार्क कनेक्टर का उपयोग कर सर्वर-साइड डेटा चयन और फ़िल्टरिंग का उपयोग करना चाहता हूं।स्पार्क

CREATE TABLE project1(  
     year int, 
     month int, 
     load_balancer int, 
     day int, 
     hour int, 
     estimation_time timestamp, 
     sensor_id int, 
     value double, 
     ... 
     PRIMARY KEY ((year, month, load_balancer), day, hour, estimation_time, sensor_id) 

फिर, हम करने के लिए रुचि रखते थे: वास्तव में हम कई सेंसर कि मान हर 1s भेजने के लिए, हम,, महीनों का उपयोग कर, दिन घंटे, आदि मैं प्रस्ताव किया है निम्न डेटा मॉडल इन आंकड़ों के एकत्रीकरण पर रुचि रखते हैं है 2014-दिसंबर के डेटा एकत्रीकरण को लोडबैंसर IN (0,1,2,3) के साथ प्राप्त करें। तो वे 4 अलग विभाजन हैं।

हम cassandra स्पार्क कनेक्टर संस्करण 1.1.1 का उपयोग कर रहे हैं, और हम सभी मानों का मतलब घंटे तक एकत्रित करने के लिए क्वेरी द्वारा गठबंधन करते थे।

तो 4,341,3 9 0 टुपल्स के लिए प्रोसेसिंग समय, स्पार्क परिणाम लौटने के लिए 11 मिनट लेता है। अब मुद्दा यह है कि हम 5 नोड्स का उपयोग कर रहे हैं हालांकि स्पार्क कार्य को निष्पादित करने के लिए केवल एक कार्यकर्ता का उपयोग करता है। क्या आप प्रदर्शन को बढ़ाने के लिए क्वेरी या डेटा मॉडल के अपडेट का सुझाव दे सकते हैं?

+1

क्या आपको कोई समाधान मिला? – galex

+0

एक विभाजन कुंजी के रूप में sensor_id का उपयोग करते समय, सभी नोड्स का उपयोग किया जाएगा (हमारे पास लगभग 500 सेंसर हैं)। लेकिन, प्रस्तावित मॉडल में मुझे नहीं पता कि वे 4 नौकरियां क्यों नहीं हैं। हो सकता है क्योंकि वे एक ही नोड में हैं! – Wassim

+1

क्या आपने सत्यापित किया था कि आपका डेटा केवल 1 नोड पर संग्रहीत है? (जो अजीब और असंतुलित लगता है) क्या आप अपना स्पार्क कोड भी दिखा सकते हैं? – HashtagMarkus

उत्तर

0

स्पार्क कैसंड्रा कनेक्टर में यह सुविधा है, यह SPARKC-25 है। आप मूल्यों के साथ एक मनमानी आरडीडी बना सकते हैं और फिर इसे कैसंड्रा तालिका से डेटा लाने के लिए कुंजी के स्रोत के रूप में उपयोग कर सकते हैं। या दूसरे शब्दों में - एक मनमानी आरडीडी से कैसंद्रा आरडीडी में शामिल हों। आपके मामले में, मनमाने ढंग से आरडीडी में विभिन्न लोड बैलेंसर मूल्यों के साथ 4 टुपल्स शामिल होंगे। अधिक जानकारी के लिए documentation पर देखें। एससीसी 1.2 हाल ही में जारी किया गया है और यह शायद स्पार्क 1.1 के साथ संगत है (हालांकि यह स्पार्क 1.2 के लिए डिज़ाइन किया गया है)।