AWS EMR을 이용하여 S3에 데이터를 생성하다 보면 S3에 _$folder$ 라는 이름의 데이터가 생성되는 것을 볼 수 있습니다.
이는 S3가 키-밸류 형태로 데이터를 저장하기 때문에 EMR이 S3에 접근할 때 사용하는 NativeS3FileSystem.java에서 신규 폴더를 생성하면서 파일이 존재하지 않으면 디렉토리를 생성할 때 빈 파일과 함께 생성하도록 설정되어 있기 때문입니다.
데이터를 이용함에 있어서 문제가 없기 때문에 그냥 두시면 됩니다.
다음의 소스 코드를 보면 구현 상태를 확인할 수 있습니다.
private static final String FOLDER_SUFFIX = "_$folder$";
...
private boolean mkdir(Path f) throws IOException {
try {
FileStatus fileStatus = getFileStatus(f);
if (!fileStatus.isDir()) {
throw new IOException(String.format(
"Can't make directory for path %s since it is a file.", f));
}
} catch (FileNotFoundException e) {
String key = pathToKey(f) + FOLDER_SUFFIX;
store.storeEmptyFile(key);
}
return true;
}
아마존에서 이 파일애 대하여 설명하는 내용도 함께 읽어 보시면 좋습니다.
https://aws.amazon.com/ko/premiumsupport/knowledge-center/emr-s3-empty-files
반응형
'AWS' 카테고리의 다른 글
[AWS-Redshift] [Amazon](500310) Invalid operation: VACUUM is running; 오류 (0) | 2019.07.18 |
---|---|
[aws] S3 ls 명령에서 와일드카드 사용 대체하기 (0) | 2019.04.09 |
[AWS][S3] AWS 커맨드의 The AWS Access Key Id you provided does not exist in our records. 오류 처리 (0) | 2017.03.20 |
[aws][s3] s3의 용량 확인하기 (0) | 2016.11.23 |
[s3] S3 V4 인증 오류 (0) | 2016.11.01 |