복붙노트

[HADOOP] HDFS 디렉토리 크기를 확인하는 방법은 무엇입니까?

HADOOP

HDFS 디렉토리 크기를 확인하는 방법은 무엇입니까?

나는 일반적인 리눅스 파일 시스템에서 du -sh를 안다. 그러나 HDFS로 어떻게 할 수 있습니까?

해결법

  1. ==============================

    1.0.20.203 이전이고 2.6.0에서 공식적으로 사용되지 않음 :

    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를 실행할 수도 있습니다.

  2. ==============================

    2.hadoop fs -du -s -h / path / to / dir은 디렉토리 크기를 읽을 수있는 형식으로 표시합니다.

    hadoop fs -du -s -h / path / to / dir은 디렉토리 크기를 읽을 수있는 형식으로 표시합니다.

  3. ==============================

    3.Matt D와 다른 사람들이 답변을하면, 아파치 하둡 3.0.0이 될 수있다.

    Matt D와 다른 사람들이 답변을하면, 아파치 하둡 3.0.0이 될 수있다.

     +-------------------------------------------------------------------+ 
     | 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을 반환합니다.

    출처 : Apache doc

  4. ==============================

    4.이걸로 크기는 GB

    이걸로 크기는 GB

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

    5.디렉토리의 크기를 얻으려면 hdfs dfs -du -s -h / $ yourDirectoryName을 사용할 수 있습니다. hdfs dfsadmin -report를 사용하여 빠른 클러스터 수준 저장소 보고서를 볼 수 있습니다.

    디렉토리의 크기를 얻으려면 hdfs dfs -du -s -h / $ yourDirectoryName을 사용할 수 있습니다. hdfs dfsadmin -report를 사용하여 빠른 클러스터 수준 저장소 보고서를 볼 수 있습니다.

  6. ==============================

    6.Hadoop 클러스터의 사용 된 공간 % sudo -u hdfs hadoop fs -df

    Hadoop 클러스터의 사용 된 공간 % sudo -u hdfs hadoop fs -df

    특정 폴더의 용량 : sudo -u hdfs hadoop fs -du -h / user

  7. ==============================

    7.디렉토리 내의 특정 파일 그룹 합계를 계산할 때 -s 옵션이 작동하지 않습니다 (Hadoop 2.7.1). 예 :

    디렉토리 내의 특정 파일 그룹 합계를 계산할 때 -s 옵션이 작동하지 않습니다 (Hadoop 2.7.1). 예 :

    디렉토리 구조 :

    some_dir
    ├abc.txt    
    ├count1.txt 
    ├count2.txt 
    └def.txt    
    

    각 파일의 크기가 1KB라고 가정합니다. 다음을 사용하여 전체 디렉토리를 요약 할 수 있습니다.

    hdfs dfs -du -s some_dir
    4096 some_dir
    

    그러나 "count"를 포함하는 모든 파일의 합계를 원하면 명령이 짧아집니다.

    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 
    
  8. ==============================

    8.hadoop 버전 2.3.33 :

    hadoop 버전 2.3.33 :

    hadoop fs -dus  /path/to/dir  |   awk '{print $2/1024**3 " G"}' 
    

  9. ==============================

    9.명령은 hadoop fs -du -s -h \ dirPath 여야합니다.

    명령은 hadoop fs -du -s -h \ dirPath 여야합니다.

  10. from https://stackoverflow.com/questions/6504107/the-way-to-check-a-hdfs-directorys-size by cc-by-sa and MIT license