복붙노트

[HADOOP] "hadoop fs"쉘 명령과 "hdfs dfs"쉘 명령의 차이점은 무엇입니까?

HADOOP

"hadoop fs"쉘 명령과 "hdfs dfs"쉘 명령의 차이점은 무엇입니까?

그들은 평등 한가?

하지만, "hadoop fs"명령은 hdfs 파일을 표시하는 반면 "hdfs dfs"명령은 로컬 파일을 표시하는 이유는 무엇입니까?

여기에 hadoop 버전 정보가 있습니다.

해결법

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

    1.다음과 같은 세 가지 명령이 있지만 약간의 차이점이 있습니다.

    다음과 같은 세 가지 명령이 있지만 약간의 차이점이 있습니다.

      hadoop fs <args>
    

    FS는 로컬, HDFS 등의 파일 시스템을 가리킬 수있는 일반 파일 시스템과 관련이 있습니다. 따라서 로컬 FS, (S) FTP, S3 및 다른 파일 시스템과 같은 다른 파일 시스템을 처리 할 때이 파일을 사용할 수 있습니다

      hadoop dfs <args>
    

    dfs는 HDFS에만 한정됩니다. 운영을 위해 HDFS와 관련이 있습니다. 이것은 더 이상 사용되지 않으며 대신 hdfs dfs를 사용해야합니다.

      hdfs dfs <args>
    

    두 번째와 동일합니다. 즉, HDFS와 관련된 모든 작업에 사용할 수 있으며 hadoop dfs 대신 권장되는 명령입니다.

    아래 목록은 hdfs 명령으로 분류됩니다.

      namenode|secondarynamenode|datanode|dfs|dfsadmin|fsck|balancer|fetchdt|oiv|dfsgroups
    

    따라서 hadoop dfs를 사용하더라도 hdfs를 찾은 다음 해당 명령을 hdfs dfs에 위임합니다.

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

    2.

    https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/FileSystemShell.html

    File System (FS) 셸은 Hadoop 분산 파일 시스템 (HDFS)과 직접 상호 작용하는 다양한 셸과 유사한 명령을 포함합니다. Local FS, WebHDFS, S3 FS 및 기타와 같이 Hadoop이 지원하는 파일 시스템입니다.

    모든 FS 셸 명령은 경로 URI를 인수로 사용합니다. URI 형식은 scheme : // authority / path입니다. HDFS의 경우 스키마는 hdfs이며 로컬 FS의 경우 스키마가 파일입니다. 체계와 권한은 선택 사항입니다. 지정되지 않은 경우 구성에 지정된 기본 구성표는 다음과 같습니다. 익숙한. / parent / child와 같은 HDFS 파일이나 디렉토리는 hdfs : // namenodehost / parent / child 또는 단순히 / parent / child로 지정할 수 있습니다. 구성은 hdfs : // namenodehost를 가리 키도록 설정됩니다.

    FS 셸의 명령 대부분은 해당 Unix 명령처럼 작동합니다. 차이점은 각 명령과 함께 설명됩니다. 오류 정보 stderr로 보내지고 출력은 stdout으로 보내집니다.

    HDFS가 사용되고 있다면,

    동의어입니다.

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

    3.내가 알 수 있듯이, hdfs dfs와 hadoop fs에는 차이가 없습니다. 그것들은 사용하고있는 Hadoop의 버전에 따라 단순히 다른 명명 규칙을 사용합니다. 예를 들어 1.2.1의 노트는 hdfs dfs를 사용하고 0.19는 hadoop fs를 사용합니다. 별도의 명령은 축 적으로 설명됩니다. 그것들은 동일하게 사용됩니다.

    내가 알 수 있듯이, hdfs dfs와 hadoop fs에는 차이가 없습니다. 그것들은 사용하고있는 Hadoop의 버전에 따라 단순히 다른 명명 규칙을 사용합니다. 예를 들어 1.2.1의 노트는 hdfs dfs를 사용하고 0.19는 hadoop fs를 사용합니다. 별도의 명령은 축 적으로 설명됩니다. 그것들은 동일하게 사용됩니다.

    또한 두 명령 모두 지정한 내용 (hdfs, file, s3 등)에 따라 다른 파일 시스템을 참조 할 수 있습니다. 나열된 파일 시스템이 없으면 구성에 지정된 기본값으로 되돌아갑니다.

    Hadoop 2.0.0을 사용 중이며 Alpha 버전이 hadoop fs를 사용하고 HDFS를 구성의 기본 구성표로 사용하도록 설정 한 것처럼 보입니다 (2.0.5 설명서 기준). hdfs dfs 명령은 이전에 남아있을 수 있으며 구성에 지정되지 않았으므로 로컬 파일 시스템을 기본값으로 설정할 수 있습니다.

    그래서 나는 단지 hadoop fs를 고수하고 문서화에있어서 너무 많이 걱정하지 않기 때문에 그들은 동일합니다.

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

    4.fs는 모든 파일 시스템을 나타내며 로컬 또는 HDFS 일 수 있지만 dfs는 HDFS 파일 시스템 만 참조합니다. 따라서 서로 다른 파일 시스템간에 데이터를 액세스 / 전송해야하는 경우 fs가 필요합니다.

    fs는 모든 파일 시스템을 나타내며 로컬 또는 HDFS 일 수 있지만 dfs는 HDFS 파일 시스템 만 참조합니다. 따라서 서로 다른 파일 시스템간에 데이터를 액세스 / 전송해야하는 경우 fs가 필요합니다.

  5. ==============================

    5.FS는 로컬, HDFS 등의 파일 시스템을 가리킬 수있는 일반적인 파일 시스템과 관련이 있습니다. 그러나 dfs는 HDFS에만 매우 한정적입니다. 따라서 우리는 FS를 사용하여 로컬에서 또는 hadoop 분산 파일 시스템에서 목적지로 작업을 수행 할 수 있습니다. 그러나 DFS 작업을 지정하는 것은 HDFS와 관련이 있습니다.

    FS는 로컬, HDFS 등의 파일 시스템을 가리킬 수있는 일반적인 파일 시스템과 관련이 있습니다. 그러나 dfs는 HDFS에만 매우 한정적입니다. 따라서 우리는 FS를 사용하여 로컬에서 또는 hadoop 분산 파일 시스템에서 목적지로 작업을 수행 할 수 있습니다. 그러나 DFS 작업을 지정하는 것은 HDFS와 관련이 있습니다.

    다음은이 두 가지를 다른 쉘로 설명하는 hadoop 문서에서 발췌 한 것입니다.

    FS 셸 FileSystem (FS) 쉘은 bin / hadoop fs에 의해 호출됩니다. 모든 FS 셸 명령은 경로 URI를 인수로 사용합니다. URI 형식은 scheme : // autority / path입니다. HDFS의 경우 스키마는 hdfs이고 로컬 파일 시스템의 경우 스키마는 파일입니다. 체계와 권한은 선택 사항입니다. 지정하지 않으면 구성에 지정된 기본 구성표가 사용됩니다. / parent / child와 같은 HDFS 파일이나 디렉토리는 hdfs : // namenodehost / parent / child 또는 단순히 / parent / child로 지정할 수 있습니다 (구성이 hdfs : // namenodehost를 가리 키도록 설정되어있는 경우). FS 셸의 명령 대부분은 해당 Unix 명령처럼 작동합니다.

    DFShell HDFS 쉘은 bin / hadoop dfs에 의해 호출됩니다. 모든 HDFS 셸 명령은 경로 URI를 인수로 사용합니다. URI 형식은 scheme : // autority / path입니다. HDFS의 경우 스키마는 hdfs이고 로컬 파일 시스템의 경우 스키마는 파일입니다. 체계와 권한은 선택 사항입니다. 지정하지 않으면 구성에 지정된 기본 구성표가 사용됩니다. / parent / child와 같은 HDFS 파일 또는 디렉토리는 hdfs : // namenode : namenodeport / parent / child 또는 단순히 / parent / child로 지정할 수 있습니다 (구성이 namenode : namenodeport를 가리 키도록 설정되어있는 경우). HDFS 쉘의 명령 대부분은 해당 Unix 명령처럼 작동합니다.

    위의 내용에서 모든 것이 configure 구성에 달려 있다고 결론 지을 수 있습니다. 이 두 명령을 절대 URI (예 : scheme : // a / b)와 함께 사용하는 경우 동작은 동일해야합니다. 작동에 차이가 나는 원인은 각각 fs와 dfs에 대한 파일 및 hdfs의 기본 구성표 값뿐입니다.

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

    6.fs = 파일 시스템 dfs = 분산 파일 시스템

    fs = 파일 시스템 dfs = 분산 파일 시스템

    fs = 다른 파일 시스템 + 분산 파일 시스템

    FS는 로컬, HDFS 등의 파일 시스템을 가리킬 수있는 일반적인 파일 시스템과 관련이 있습니다. 그러나 dfs는 HDFS에만 매우 한정적입니다. 따라서 우리는 FS를 사용하여 로컬에서 또는 hadoop 분산 파일 시스템에서 목적지로 작업을 수행 할 수 있습니다. 그러나 DFS 작업을 지정하는 것은 HDFS와 관련이 있습니다.

    그것은 모두 configure 구성에 따라 다릅니다. 이 두 명령을 절대 URI (예 : scheme : // a / b)와 함께 사용하는 경우 동작은 동일해야합니다. 비헤이비어의 차이의 원인 인 fs와 dfs 각각에 대해 file : // 및 hdfs : //에 대한 기본 구성표 값만.

  7. from https://stackoverflow.com/questions/18142960/whats-the-difference-between-hadoop-fs-shell-commands-and-hdfs-dfs-shell-co by cc-by-sa and MIT license