복붙노트

[HADOOP] 어떻게 방지 할`하둡 FS의 RMR <URI> '$ 폴더 $ 파일을 생성에서?

HADOOP

어떻게 방지 할`하둡 FS의 RMR '$ 폴더 $ 파일을 생성에서?

우리는 아마존의 엘라스틱지도 일부 대형 파일 처리 작업을 수행 할 줄 사용하고 있습니다. 워크 플로우의 일환으로, 우리는 때때로 이미 존재 S3에서 파일을 제거해야합니다. 우리는 이렇게 같이, 하둡 FS 인터페이스를 사용하여 수행합니다

hadoop fs -rmr s3://mybucket/a/b/myfile.log

이 적절하게 S3에서 파일을 제거하지만 그것의 장소에 "S3 : // mybucket / A / B_ $ 폴더 $"라는 빈 파일을 떠난다. 이 질문에 설명 된대로 워크 플로우의 이후 단계에서이 파일에 질식 할 수 있습니다, 하둡의 돼지, 이러한 파일을 처리 할 수 ​​없습니다.

(참고, 우리가 -rmr 또는 -rm 사용 여부를 우리가 S3를 사용하는지 여부는 중요하지 않는 것 : // 또는 S3N : // 계획 등 :.이 전시 설명 된 모든 동작)

어떻게 S3에서 파일을 제거하고 뒤에이 번잡 한 파일을 떠날하지 않도록하기 위해 하둡 FS 인터페이스를 사용합니까?

해결법

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

    1.나는이 방법으로 하둡 FS 인터페이스를 사용할 수 있는지 알아낼 수 없습니다. 그러나, s3cmd 인터페이스 (그러나 한 번에 하나의 키에 대한) 올바른 일을한다 :

    나는이 방법으로 하둡 FS 인터페이스를 사용할 수 있는지 알아낼 수 없습니다. 그러나, s3cmd 인터페이스 (그러나 한 번에 하나의 키에 대한) 올바른 일을한다 :

    s3cmd del s3://mybucket/a/b/myfile.log
    

    이 먼저 AWS 자격 증명으로 ~ / .s3cfg 파일을 구성 할 필요합니다. s3cmd --configure 대화식으로이 파일을 만드는 데 도움이됩니다.

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

    2.http://hadoop.apache.org/docs/current/api/org/apache/hadoop/fs/s3native/NativeS3FileSystem.html : 그것은 S3의 suppot가 하둡에서 구현하는 방법이를 볼 수 있습니다.

    http://hadoop.apache.org/docs/current/api/org/apache/hadoop/fs/s3native/NativeS3FileSystem.html : 그것은 S3의 suppot가 하둡에서 구현하는 방법이를 볼 수 있습니다.

    그래서 s3cmd를 사용합니다.

  3. from https://stackoverflow.com/questions/5749272/how-do-i-prevent-hadoop-fs-rmr-uri-from-creating-folder-files by cc-by-sa and MIT license