이미 묻는 다음 질문을 참조하십시오 : Write 100 million files to s3 및 Too many open files in EMR아마존의 s3fs EMR : 약 1 억 개의 작은 파일로 확장됩니까?
여기에 처리되는 데이터의 크기는 4-5TB 주위이어야합니다. 정확하게 말하면 - gzip 압축으로 300GB.
이 단계가 시간이 지남에 따라 데이터를 집계함에 따라 점진적으로 입력 크기가 커집니다.
예를 들어 12 월 2012 년까지 로그가 포함됩니다
UDID-1, DateTime, Lat, Lng, Location
UDID-2, DateTime, Lat, Lng, Location
UDID-3, DateTime, Lat, Lng, Location
UDID-1, DateTime, Lat, Lng, Location
을이를 위해 우리가 UDID (고유 장치 식별자)를 별도의 파일을 생성해야합니다 파일의에서 그 UDID에 속하는 파일 이름 및 기록 정렬 된 순서.
예 : 우리는 월, 2013 년 달 동안 로그가있을 때
UDID-1.dat => File Contents
DateTime1, Lat1, Lng1, Location1
DateTime2, Lat2, Lng2, Location2
DateTime3, Lat3, Lng3, Location3
지금,이 단계는 이전 데이터, 이미이 단계에 의해 이전 달 동안 생성 된 파일 및 모두를 읽 UDID의 데이터를 집계하는 최신 로그.
예 :이 단계
If the logs for month of Jan has a record as: UDID-1, DateTime4, Lat4, Lng4, Location4, the file UDID-1.dat would need to be updated with this data. Each UDID's file should be chronologically sorted.
, 우리는 EBS 볼륨에 데이터를 작성하고 나중에 사용하기 위해 그대로 유지 생각했다. 그러나 EBS 볼륨의 용량은 1TB입니다. 언급 된 질문에서 이미 언급했듯이, s3에서 파일을 직접 생성하거나 HDFS에서 생성 한 다음 s3으로 이동하는 것은 이동해야하는 약 1 억 개의 작은 파일이 있으므로이 사용 사례에서는 실행 가능한 옵션이 아닙니다. 그리고 많은 수의 파일을 이동하는 것은 s3distcp를 사용하는 것조차 너무 느립니다.
그럼 우리는 Amazon S3이 지원하는 s3fs - FUSE 기반 파일 시스템을 시도 할 것입니다. 누구나 얼마나 확장 성이 s3fs인지 알 수 있습니까? 1 억 개의 작은 파일을 처리 할 수 있습니까? MR 작업에서 사용할 수 있도록 s3에서 로컬 파일 시스템으로 1 억 개의 파일에 걸쳐 3-5TB의 데이터를 이동하는 데 시간이 얼마나 걸릴까요? 그리고 데이터를 다시 s3으로 옮기는 데 얼마나 많은 시간이 걸릴 것입니까? s3distcp를 사용하는 동안 직면했던 문제와 동일한 문제가 발생합니까? 사전에
감사합니다!