복붙노트

[HADOOP] 와일드 카드가있는 Hadoop HDFS 사본?

HADOOP

와일드 카드가있는 Hadoop HDFS 사본?

hdfs에서 동일한 hdfs 클러스터의 다른 위치로 특정 패턴의 파일을 복사하려고합니다. dfs 쉘은 이것을 처리 할 수없는 것 같습니다 :

hadoop dfs -cp /tables/weblog/server=jeckle/webapp.log.1* /tables/tinylog/server=jeckle/

오류는 반환되지 않으며 복사 된 파일도 없습니다.

해결법

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

    1.다음과 같이 와일드 카드가 포함 된 경로에 큰 따옴표를 사용해야합니다.

    다음과 같이 와일드 카드가 포함 된 경로에 큰 따옴표를 사용해야합니다.

    hdfs fs -cp "/path/to/foo*" /path/to/bar/
    
  2. ==============================

    2.우선 와일드 카드가있는 HDFS 사본이 지원됩니다. 둘째, hadoop dfs의 사용이 권장되지 않으므로 hadoop fs 또는 hdfs dfs를 사용하는 것이 좋습니다. 작업이 성공하지 못했다면 (성공했다고해도) namenode의 로그 파일을 체크 아웃하여 잘못된 것을 확인하십시오.

    우선 와일드 카드가있는 HDFS 사본이 지원됩니다. 둘째, hadoop dfs의 사용이 권장되지 않으므로 hadoop fs 또는 hdfs dfs를 사용하는 것이 좋습니다. 작업이 성공하지 못했다면 (성공했다고해도) namenode의 로그 파일을 체크 아웃하여 잘못된 것을 확인하십시오.

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

    3.흥미 롭 군. 이것은 로컬 VM에서 Hadoop 0.18.0을 실행하는 것입니다. 어떤 버전을 사용하고 있습니까? 나는 1.2.1을 시도 할 수있다.

    흥미 롭 군. 이것은 로컬 VM에서 Hadoop 0.18.0을 실행하는 것입니다. 어떤 버전을 사용하고 있습니까? 나는 1.2.1을 시도 할 수있다.

    hadoop-user@hadoop-desk:~$ hadoop fs -ls /user/hadoop-user/testcopy
    hadoop-user@hadoop-desk:~$ hadoop dfs -cp /user/hadoop-user/input/*.txt /user/hadoop-user/testcopy/
    hadoop-user@hadoop-desk:~$ hadoop fs -ls /user/hadoop-user/testcopy
    Found 2 items
    -rw-r--r--   1 hadoop-user supergroup         79 2014-01-06 04:35 /user/hadoop-user/testcopy/HelloWorld.txt
    -rw-r--r--   1 hadoop-user supergroup        140 2014-01-06 04:35 /user/hadoop-user/testcopy/SampleData.txt
    
  4. ==============================

    4.이 두 가지 모두 나를 위해 일했습니다.

    이 두 가지 모두 나를 위해 일했습니다.

    ~]$ hadoop fs -cp -f /user/cloudera/Dec_17_2017/cric* /user/cloudera/Dec_17_2017/Dec_18 
    ~]$ hadoop fs -cp -f "/user/cloudera/Dec_17_2017/cric*" /user/cloudera/Dec_17_2017/Dec_18 
    

    더 나은 방법은 double / single ( "/") 따옴표를 사용하지 않는 것입니다.

  5. from https://stackoverflow.com/questions/20938661/hadoop-hdfs-copy-with-wildcards by cc-by-sa and MIT license