2012-12-07 13 views
5

का उपयोग कर एक निर्देशिका के तहत सभी फ़ाइलों को पुन: संसाधित कैसे कर सकता हूं, मैं फ़ाइलों के बैच को संसाधित करने और कुछ आंकड़े प्राप्त करने के लिए mrjob का उपयोग कर रहा हूं। मैं जानता हूँ कि मैं एक एकल फाइल पर mapreduce काम चला सकते हैं, जैसेमैं mrjob

python count.py <some_input_file> output 

लेकिन यह कैसे मैं स्क्रिप्ट के लिए फ़ाइलों की एक निर्देशिका फ़ीड कर सकते हैं? फ़ाइल निर्देशिका संरचना इस folder/subfolders/files की तरह है, क्या कोई सुझाव है?

उत्तर

6

ठीक है, अंत में मुझे लगता है कि मैं एक इनपुट पथ के रूप में एक निर्देशिका निर्दिष्ट कर सकता हूं और हैडोप उस निर्देशिका में सभी फ़ाइलों को संसाधित करेगा।

मेरे मामले में, मेरे पास इनपुट फाइलें वाली उप-निर्देशिकाएं हैं। हडोप दोबारा निर्देशिका को ट्रांसवर्स नहीं करेगा और डिफ़ॉल्ट रूप से त्रुटि बढ़ाएगा। वाइल्डकार्ड ग्लोब का उपयोग करना एक आम चाल है

python count.py hdfs://master-host/directory/*/*.txt > result