복붙노트

[HADOOP] HDFS : 어떻게 재귀 적으로 파일을 나열합니까?

HADOOP

HDFS : 어떻게 재귀 적으로 파일을 나열합니까?

Java를 통해 HDFS의 특정 경로 아래에있는 모든 파일을 (재귀 적으로) 나열하는 방법은 무엇입니까? API를 통해 FileSystem.listFiles (Path, boolean)을 발견했지만 초기화 할 때 FileSystem 인스턴스에 해당 메소드가 존재하지 않는 것처럼 보입니다.

해결법

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

    1.hadoop 버전에 대한 org.apache.hadoop.fs.FsShell.ls (FileStatus, FileSystem, boolean, boolean)의 소스를 볼 수 있습니다. 이것은 명령에서 hadoop fs -lsr 경로를 수행 할 때 호출됩니다 선

    hadoop 버전에 대한 org.apache.hadoop.fs.FsShell.ls (FileStatus, FileSystem, boolean, boolean)의 소스를 볼 수 있습니다. 이것은 명령에서 hadoop fs -lsr 경로를 수행 할 때 호출됩니다 선

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

    2.재귀 적으로 파일 / 디렉토리를 나열하려면 -R 다음에 ls 명령을 사용하십시오.

    재귀 적으로 파일 / 디렉토리를 나열하려면 -R 다음에 ls 명령을 사용하십시오.

    hadoop fs -ls -R Path/Of/File
    

    ls 명령에 가능한 속성은 다음과 같습니다.

    -d : 디렉토리는 일반 파일로 나열됩니다.

    -h "파일 크기를 바이트 수보다는 사람이 읽을 수있는 형식으로 형식화합니다.

    -R "디렉토리의 내용을 반복적으로 나열합니다.

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

    3.

    hadoop-user@hadoop-desk ~/hadoop
    $ bin/hadoop fs -lsr /user/someone_else/myfiles
    
    -rw-r--r--   1 hadoop-user supergroup          0 2013-11-26 02:09 /user/someone_else/myfiles/file1.txt
    
    -rw-r--r--   1 hadoop-user supergroup          0 2013-11-26 02:09 /user/someone_else/myfiles/file2.txt
    
    drwxr-xr-x   - hadoop-user supergroup          0 2013-11-26 02:09 /user/someone_else/myfiles/subdir
    
    -rw-r--r--   1 hadoop-user supergroup          0 2013-11-26 02:09 /user/someone_else/myfiles/subdir/anotherFile.txt
    
  4. from https://stackoverflow.com/questions/10941831/hdfs-how-do-you-list-files-recursively by cc-by-sa and MIT license