जवाबों:
0.20.203 से पहले, और आधिकारिक तौर पर 2.6.0 में पदावनत:
hadoop fs -dus [directory]
के बाद से 0.20.203 (मृत लिंक) 1.0.4 और अभी भी संगत के माध्यम से 2.6.0 :
hdfs dfs -du [-s] [-h] URI [URI …]
आप hadoop fs -help
अधिक जानकारी और बारीकियों के लिए भी दौड़ सकते हैं ।
hadoop fs -du -s -h /path/to/dir
पठनीय रूप में निर्देशिका का आकार प्रदर्शित करता है।
hdfs -du -s -h /path/to/dir
यह अधिक उपयुक्त है।
मैट डी और दूसरों के जवाबों का विस्तार करते हुए , कमांड अपाचे हडोप 3.0.0 तक हो सकता है
hadoop fs -du [-s] [-h] [-v] [-x] URI [URI ...]
यह दी गई निर्देशिका में निहित फ़ाइलों और निर्देशिकाओं के आकार को प्रदर्शित करता है या किसी फ़ाइल की लंबाई के मामले में यह सिर्फ एक फ़ाइल है।
विकल्प:
- -S एक का परिणाम देगा विकल्प फ़ाइल लंबाई की कुल सारांश बल्कि अलग-अलग फ़ाइलों से प्रदर्शित किया जा रहा,। -S विकल्प के बिना, दिए गए पथ से 1-स्तरीय गहराई तक गणना की जाती है।
- -H विकल्प के लिए एक में फ़ाइल आकार को फ़ॉर्मेट होगा मानव पठनीय फैशन (जैसे 64.0m बजाय 67108864)
- -V विकल्प प्रदर्शित करेगा कॉलम के नाम एक हैडर पंक्ति के रूप में।
- -X विकल्प होगा स्नैपशॉट को बाहर परिणाम गणना से। -X विकल्प (डिफ़ॉल्ट) के बिना, परिणाम हमेशा सभी इनोड्स से गणना किया जाता है, जिसमें दिए गए पथ के तहत सभी स्नैपशॉट शामिल हैं।
+-------------------------------------------------------------------+
| size | disk_space_consumed_with_all_replicas | full_path_name |
+-------------------------------------------------------------------+
hadoop fs -du /user/hadoop/dir1 \
/user/hadoop/file1 \
hdfs://nn.example.com/user/hadoop/dir1
बाहर निकलें कोड: सफलता पर 0 और त्रुटि पर -1 देता है।
इसके साथ आपको GB में आकार मिलेगा
hdfs dfs -du PATHTODIRECTORY | awk '/^[0-9]+/ { print int($1/(1024**3)) " [GB]\t" $2 }'
जब निर्देशिका के भीतर फ़ाइलों के किसी विशेष समूह की कुल गणना करने का प्रयास किया जाता है तो -s
विकल्प काम नहीं करता है (Hadoop 2.7.1 में)। उदाहरण के लिए:
निर्देशिका संरचना:
some_dir
├abc.txt
├count1.txt
├count2.txt
└def.txt
मान लें कि प्रत्येक फ़ाइल आकार में 1 KB है। आप पूरी निर्देशिका को संक्षेप में प्रस्तुत कर सकते हैं:
hdfs dfs -du -s some_dir
4096 some_dir
हालाँकि, अगर मैं चाहता हूं कि कमांड "कम" वाली सभी फाइलों का योग कम हो।
hdfs dfs -du -s some_dir/count*
1024 some_dir/count1.txt
1024 some_dir/count2.txt
इसके आसपास पाने के लिए मैं आमतौर पर awk के माध्यम से आउटपुट पास करता हूं।
hdfs dfs -du some_dir/count* | awk '{ total+=$1 } END { print total }'
2048
निर्देशिका का आकार पाने के लिए hdfs dfs -du -s -h / $ yourDirectoryName का उपयोग किया जा सकता है। एक त्वरित क्लस्टर स्तर संग्रहण रिपोर्ट देखने के लिए hdfs dfsadmin -report का उपयोग किया जा सकता है।
Hadoop क्लस्टर पर प्रयुक्त स्थान का%
sudo -u hdfs hadoop fs –df
विशिष्ट फ़ोल्डर के तहत क्षमता:
sudo -u hdfs hadoop fs -du -h /user
hadoop fs -du -h /user
(मैं उपयोग की जरूरत नहीं थी sudo
)
sudo
जरूरत नहीं है और संयम से इस्तेमाल किया जाना चाहिए।
hdfs dfs -count <dir>
मैन पेज से जानकारी:
-count [-q] [-h] [-v] [-t [<storage type>]] [-u] <path> ... :
Count the number of directories, files and bytes under the paths
that match the specified file pattern. The output columns are:
DIR_COUNT FILE_COUNT CONTENT_SIZE PATHNAME
or, with the -q option:
QUOTA REM_QUOTA SPACE_QUOTA REM_SPACE_QUOTA
DIR_COUNT FILE_COUNT CONTENT_SIZE PATHNAME
कमांड होना चाहिए hadoop fs -du -s -h \dirPath
-du [-s] [-h] ...: निर्दिष्ट फ़ाइल पैटर्न से मेल खाने वाली फ़ाइलों द्वारा उपयोग की जाने वाली बाइट्स में, अंतरिक्ष की मात्रा दिखाएं।
-s :
पैटर्न से मेल खाने वाली प्रत्येक व्यक्तिगत फ़ाइल का आकार दिखाने के बजाय , कुल (सारांश) आकार दिखाता है।
-h : बाइट्स की संख्या के बजाय एक मानव-पठनीय फैशन में फ़ाइलों के आकार का प्रारूपण करता है। (पूर्व एमबी / जीबी / टीबी आदि)
ध्यान दें कि, -s विकल्प के बिना भी, यह केवल आकार के सारांश को एक स्तर को एक निर्देशिका में गहरा दिखाता है।
आउटपुट आकार के नाम (पूर्ण पथ) में है