2016-01-09 14 views
5

में अंतिम अद्यतन फ़ाइल प्राप्त करें मैं अपनी एचडीएफएस निर्देशिकाओं में से एक से नवीनतम अद्यतन फ़ाइल चाहता हूं। कोड को मूल रूप से निर्देशिकाओं और उप निर्देशिकाओं के माध्यम से लूप करना चाहिए और फ़ाइल नाम के साथ नवीनतम फ़ाइल पथ प्राप्त करना चाहिए। मैं स्थानीय फ़ाइल सिस्टम में नवीनतम फ़ाइल प्राप्त करने में सक्षम था लेकिन यह सुनिश्चित नहीं करता कि एचडीएफएस एक के लिए इसे कैसे किया जाए।एचडीएफएस

find /tmp/sdsa -type f -print0 | xargs -0 stat --format '%Y :%y %n' | sort -nr | cut -d: -f2- | head

ऊपर कोड स्थानीय फाइल सिस्टम के लिए काम कर रहा है। मैं एचडीएफएस से दिनांक, समय और फ़ाइल नाम प्राप्त करने में सक्षम हूं, लेकिन इन 3 पैरामीटर का उपयोग करके मैं नवीनतम फ़ाइल कैसे प्राप्त करूं?

hadoop fs -ls -R /tmp/apps | awk -F" " '{print $6" "$7" "$8}'

किसी भी मदद की सराहना की जाएगी:

इस कोड को मैंने कोशिश की है।

अग्रिम धन्यवाद।

उत्तर

7

यह एक मेरे लिए काम किया:

hadoop fs -ls -R /tmp/app | awk -F" " '{print $6" "$7" "$8}' | sort -nr | head -1 | cut -d" " -f3

उत्पादन पूरी फ़ाइल पथ है।

hadoop fs -ls -R /user| awk -F" " '{print $6" "$7" "$8}'|sort -nr|head|cut -d" " -f3- 

आपकी स्क्रिप्ट यह स्वयं काफी अच्छा है:

2

यहाँ आदेश है। हैडोप वाई वाई वाई वाई-एमएम-डीडी एचएच 24 में तारीखें लौटाता है: एमआई: एसएस प्रारूप और इसलिए आप उन्हें क्रमबद्ध रूप से क्रमबद्ध कर सकते हैं।

संबंधित मुद्दे