- लगभग 1.75GB शतरंज मैच डेटा को Hadoop की जगह कमांड-लाइन टूल्स से प्रोसेस करने पर काम सिर्फ 12 सेकंड में पूरा हुआ, जो Hadoop के 26 मिनट की तुलना में 235 गुना से भी अधिक तेज था
- grep, sort, uniq, awk, xargs, mawk जैसे बेसिक shell commands को जोड़कर streaming processing pipeline बनाई गई, जिससे मेमोरी उपयोग लगभग शून्य बना रहा
- xargs parallel processing और mawk optimization के जरिए CPU cores का उपयोग बढ़ाया गया और IO bottleneck को न्यूनतम किया गया
- वही dataset Hadoop cluster (7 c1.medium instances) पर चलाने की तुलना में लागत और maintenance burden काफी कम रहा
- यह दिखाता है कि single machine पर भी प्रभावी data analysis संभव है, और अनावश्यक Big Data tools के उपयोग पर सावधानी की जरूरत बताता है
परिचय: Hadoop से तेज कमांड-लाइन प्रोसेसिंग
- Amazon EMR और mrjob के साथ लगभग 20 लाख शतरंज मैचों के डेटा का विश्लेषण करने वाले एक उदाहरण को देखकर, उसी डेटा को कमांड-लाइन आधारित streaming processing से दोबारा लागू किया गया
- Hadoop cluster (7 c1.medium) पर 26 मिनट लगे, 1.14MB/sec processing speed
- लोकल laptop पर सिर्फ 12 सेकंड में पूरा, 270MB/sec processing speed
- साधारण result aggregation जैसे कामों में shell pipeline, Hadoop की तुलना में कहीं अधिक efficient साबित होती है
- shell commands को जोड़कर Storm जैसी parallel stream processing structure एक single machine पर लागू की जा सकती है
डेटा संरचना और तैयारी
- डेटा PGN(Portable Game Notation) फ़ॉर्मेट में शतरंज मैच रिकॉर्ड है, और हर मैच का परिणाम
"Result" लाइन में दिया गया है
"1-0" का मतलब सफेद की जीत, "0-1" का मतलब काले की जीत, "1/2-1/2" का मतलब ड्रॉ
- GitHub के rozim/ChessData repository से लगभग 3.46GB dataset लिया गया
- Tom Hayden के प्रयोग वाले डेटा (1.75GB) से लगभग दोगुना आकार
बेसिक pipeline बनाना
Parallelization और optimization
निष्कर्ष: सादगी की दक्षता
- बड़े पैमाने की distributed processing की ज़रूरत न हो, तो single machine पर shell tools का संयोजन अधिक तेज और किफायती हो सकता है
- Hadoop का उपयोग अक्सर ऐसे कामों में भी ज़रूरत से ज़्यादा किया जाता है जिन्हें relational DB या साधारण scripts से संभाला जा सकता है
- कमांड-लाइन आधारित streaming analysis, performance, implementation cost, maintenance के लिहाज से एक बेहतर विकल्प है
अभी कोई टिप्पणी नहीं है.