2017-10-10 4 views
1

S3 버킷에 데이터 프레임을 업로드해야하지만 버킷에 대한 삭제 권한이 없습니다. S3에서이 _temporary 디렉토리를 만들지 않도록 할 수있는 방법이 있습니까? 어쩌면 spark에서 _temporary 디렉토리에 로컬 FS를 사용한 다음 최종 결과 파일을 S3 버킷에 업로드하거나 _temporary 디렉토리를 완전히 피할 수 있습니다.S3에서 _temporary 디렉토리를 생성하지 마십시오.

미리 감사드립니다.

답변

2

번호

데이터는 _temporary/jobAttemptID/taskAttemptID/에 기록하고 작업/작업 중에 이명 령 디렉토리에 커밋 이름이 변경됩니다.

당신이 할 수있는 일은 작업을 위해 hdfs에 쓰고 distcp를 사용하여 복사하는 것입니다. "s3n 또는 s3a 커넥터에서 가져 오는 데이터 손실의 위험을 감수하지 않는 일관된 파일 시스템을 사용하는 것"이 ​​많은 장점이 있습니다.

+0

hdfs에 대한 분할 된 쓰기 동안 비슷한 동작을 보입니다. 즉 df .write.partitionBy (keys) .parquet ('/ location') 다른 대안이 있습니까? – autodidacticon

+0

작업이 병렬로 실행될 수 있고 다시 시도하여 오류가 수정 될 수 있도록 임시 디렉터리가 사용됩니다. rename()은 HDFS에서 빠르고 원자 단위이므로 걱정할 필요가 없습니다. –

관련 문제