मैं HDFS में निर्देशिका संरचना निम्न हो रहा है, जांच की जा रही है, तो HDFS में निर्देशिका पहले से मौजूद है या नहीं
/analysis/alertData/logs/YEAR/MONTH/DATE/HOURS
डेटा है houly आधार पर आ रहा है और वर्ष/माह/दिन/घंटे के प्रारूप में संग्रहीत किया जाता है यही कारण है कि।
मैं एक खोल स्क्रिप्ट है, जिसमें मैं जब तक
"/analysis/alertData/logs" (this will vary depending on what product of data i am handling)
पथ गुजर रहा तो खोल स्क्रिप्ट वर्ष/माह/तारीख/घंटा फ़ोल्डरों के माध्यम से जाने के लिए और सबसे नवीनतम पथ लौट लिखा है।
उदाहरण के लिए:
Directories present in HDFS has following structure:
/analysis/alertData/logs/2014/10/22/01
/analysis/alertData/logs/2013/5/14/04
shell script is given path till : " /analysis/alertData/logs "
it outputs most recent directory : /analysis/alertData/logs/2014/10/22/01
मेरा प्रश्न यहाँ है मैं कैसे मान्य है कि क्या HDFS निर्देशिका पथ शेल स्क्रिप्ट वैध है या नहीं पारित कर सकते हैं। आइए कहें कि मैं एक गलत पथ को इनपुट या पथ के रूप में पास करता हूं जो अस्तित्व में नहीं है, इसलिए इसे खोल स्क्रिप्ट में कैसे संभालना है।
नमूना गलत रास्ता हो सकता है:
wrong path : /analysis/alertData (correct path : /analysis/alertData/logs/)
wrong path : /abc/xyz/ (path does not exit in HDFS)
मैं Hadoop dfs -Test -z/-d/-e विकल्प मेरे लिए काम किया नहीं था उपयोग करने की कोशिश। इसके लिए कोई सुझाव।
नोट: मेरी मूल कोड यहां पोस्ट नहीं कर रहा है, क्योंकि मेरी समस्या का हल इस पर निर्भर नहीं है।
अग्रिम धन्यवाद।