HDFS निर्देशिका के आकार की जांच करने का तरीका?


96

मैं du -shआम लिनक्स फाइल सिस्टम में जानता हूं । लेकिन एचडीएफएस के साथ ऐसा कैसे करें?

जवाबों:


162

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अधिक जानकारी और बारीकियों के लिए भी दौड़ सकते हैं ।


19
-डु -s (-dus पदावनत है)
कार्लोस रेंडन

69

hadoop fs -du -s -h /path/to/dir पठनीय रूप में निर्देशिका का आकार प्रदर्शित करता है।


एचडीएफ के नए संस्करणों के लिए, hdfs -du -s -h /path/to/dirयह अधिक उपयुक्त है।
Adelson Araújo

26

मैट डी और दूसरों के जवाबों का विस्तार करते हुए , कमांड अपाचे हडोप 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 देता है।

स्रोत: अपाचे डॉक्टर


12

इसके साथ आपको GB में आकार मिलेगा

hdfs dfs -du PATHTODIRECTORY | awk '/^[0-9]+/ { print int($1/(1024**3)) " [GB]\t" $2 }'

1
hdfs dfs -du PATHTODIRECTORY | awk '/ ^ [0-9] + / {प्रिंट इंट ($ 1 / (1024 3) "[GB] \ t" $ 2} "- कृपया अपनी कमांड को अपडेट करें। 1024 के बाद दो क्लोजिंग ब्रैकेट 3. केवल 1 होना चाहिए
14:14 बजे

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 

1

निर्देशिका का आकार पाने के लिए hdfs dfs -du -s -h / $ yourDirectoryName का उपयोग किया जा सकता है। एक त्वरित क्लस्टर स्तर संग्रहण रिपोर्ट देखने के लिए hdfs dfsadmin -report का उपयोग किया जा सकता है।


0

Hadoop क्लस्टर पर प्रयुक्त स्थान का%
sudo -u hdfs hadoop fs –df

विशिष्ट फ़ोल्डर के तहत क्षमता:
sudo -u hdfs hadoop fs -du -h /user


मैं "HDFS" के साथ एक त्रुटि मिली, जिस तरह से यह मेरे लिए काम किया था: hadoop fs -du -h /user (मैं उपयोग की जरूरत नहीं थी sudo)
diens

sudoजरूरत नहीं है और संयम से इस्तेमाल किया जाना चाहिए।
Climbs_lika_Spyder


0

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

-1

कमांड होना चाहिए hadoop fs -du -s -h \dirPath

  • -du [-s] [-h] ...: निर्दिष्ट फ़ाइल पैटर्न से मेल खाने वाली फ़ाइलों द्वारा उपयोग की जाने वाली बाइट्स में, अंतरिक्ष की मात्रा दिखाएं।

  • -s :
    पैटर्न से मेल खाने वाली प्रत्येक व्यक्तिगत फ़ाइल का आकार दिखाने के बजाय , कुल (सारांश) आकार दिखाता है।

  • -h : बाइट्स की संख्या के बजाय एक मानव-पठनीय फैशन में फ़ाइलों के आकार का प्रारूपण करता है। (पूर्व एमबी / जीबी / टीबी आदि)

    ध्यान दें कि, -s विकल्प के बिना भी, यह केवल आकार के सारांश को एक स्तर को एक निर्देशिका में गहरा दिखाता है।

    आउटपुट आकार के नाम (पूर्ण पथ) में है


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.