ListS3, fetchS3object 및 PutHDFS를 사용하여 S3에서 HDFS로 데이터를 복사하려고합니다. S3 버킷의 데이터는 다음과 같이 구성됩니다. 동일한 폴더 구조 (폴더 이름이 동적 임)로 HDFS에 복사해야합니다.NIFI (S3 to HDFS)
bucketname/부모 폴더 1/subfolder1/filename1.txt
bucketname/부모 폴더 1/subfolder2/filename2.txt
bucketname/부모 Folder2와/subfolder1/filename3.txt
PutHDFS 프로세서는 다음과 같은 오류를
org.apache.nifi.pr를 보이고 ocessor.exception.ProcessException : HDFS에 파일을 복사하지만
내가 폴더 S3 가상 것으로 알고 있습니다 최종 파일 이름에 /dev/.parent-folder1/subfolder1/filename1.txt 를 점 파일의 이름을 변경하지 못했습니다 . 그것은 UpdateAttribute 프로세서 ($ {filename : replaceAll ("/", "-")})를 도입함으로써 작동하지만 structred 폴더는 HDFS에서 생성되지 않습니다. 다른 옵션은 무엇입니까? 템플릿이 있습니까?
오류 처리에 대한 약간의 의문
1) ListS3 프로세서는 상태를 유지 관리합니다. ListS3 및 fetchS3 객체가 성공적이며 PutHDFS가 실패하면 어떻게됩니까? ListS3로드 파일을 다시 보거나 예외를 처리하는 것은 개발자의 책임입니다. fetchS3 객체에 의해로드 된 플로우 파일을 재사용 할 수 있습니까?
2) 어떻게 최종 사용자가 성공적으로 사본을 알고 않으며
감사합니다. Bryan. 감사합니다. – Tilak