복붙노트

[HADOOP] 서브 디렉토리를 HDFS에 대해 재귀 적으로 나열하려면 어떻게합니까?

HADOOP

서브 디렉토리를 HDFS에 대해 재귀 적으로 나열하려면 어떻게합니까?

재귀 적으로 HDFS에서 생성 된 일련의 디렉토리가 있습니다. 모든 디렉토리를 나열하는 방법은 무엇입니까? 일반적인 유닉스 파일 시스템의 경우 아래 명령을 사용하여이를 수행 할 수 있습니다.

find /path/ -type d -print

하지만 나는 HDFS와 비슷한 것을 원합니다.

해결법

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

    1.디렉토리 내용을 재귀 적으로 나열하려면 hadoop dfs -lsr / dirname 명령을 사용할 수 있습니다. 디렉토리 만 필터링하려면 위 명령의 출력에서 ​​"drwx"(소유자가 디렉토리에 대해 rwx 권한을 가지고 있으므로)를 grep 할 수 있습니다. 그러므로 전체 명령은 아래처럼 보일 것입니다. $ hadoop dfs -lsr / sqoopO7 | grep drwx

    디렉토리 내용을 재귀 적으로 나열하려면 hadoop dfs -lsr / dirname 명령을 사용할 수 있습니다. 디렉토리 만 필터링하려면 위 명령의 출력에서 ​​"drwx"(소유자가 디렉토리에 대해 rwx 권한을 가지고 있으므로)를 grep 할 수 있습니다. 그러므로 전체 명령은 아래처럼 보일 것입니다. $ hadoop dfs -lsr / sqoopO7 | grep drwx

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

    2.@Shubhangi Pardeshi가 제공 한 대답은 정확하지만 최신 hadoop 버전 명령은 더 이상 사용되지 않습니다. 그래서 새로운 최신 명령어를 아래와 같이 사용할 수 있습니다.

    @Shubhangi Pardeshi가 제공 한 대답은 정확하지만 최신 hadoop 버전 명령은 더 이상 사용되지 않습니다. 그래서 새로운 최신 명령어를 아래와 같이 사용할 수 있습니다.

    hdfs dfs -ls -R /user | grep drwx
    
  3. from https://stackoverflow.com/questions/31056680/how-can-i-list-subdirectories-recursively-for-hdfs by cc-by-sa and MIT license