2013-06-01 5 views
1

S3 버킷을 입력 소스로 사용하여 새 EMR 작업을 만들 때 S3에서 노드의 HDFS로 데이터가 자동으로 복사됩니까? 또는 데이터가 S3에만 남아 있고 맵 축소 작업에 필요할 때 읽을 수 있습니까?S3에서 AWS EMR로드

나는 인상을 얻는다. 그러나 데이터가 S3에 저장되고 프로비저닝 된 EC2 인스턴스에서 처리가 수행되면 맵 축소의 기본 원칙에 어긋나지 않습니다 : 데이터 로컬 처리? 기존의 시스템과 달리 처리를 수행하는 곳으로 데이터를 이동하십시오.

1PB와 같이 합리적인 대형 데이터 세트가 주어진 경우이 접근법의 상대적 의미는 무엇입니까? 클러스터 시작에 오래 걸립니까?

답변

0

두 가지 옵션이 있습니다. Amazon S3에서 직접 데이터를 스트리밍하거나 먼저 HDFS로 복사 한 다음 로컬에서 처리 할 수 ​​있습니다. 첫 번째 방법은 데이터를 한 번만 읽으려는 경우에 유용합니다. 그리고 동일한 입력 데이터를 여러 번 쿼리하는 것이 계획이라면 먼저 HDFS로 복사하는 것이 좋습니다.

예, S3를 MapReduce의 입력으로 사용하면 데이터 지역성 최적화가 손실됩니다. 또한 HDFS 대신 S3을 사용하려는 경우 S3 Native FileSystem 대신 S3 Block FileSystem을 사용하는 것이 좋습니다 (파일 크기에 제한이 5GB 임).

HTH

+1

s3bfs (블록 스토리지의 파일 시스템)에 의해 AWS 권장되지의 사용 : http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-plan-file-systems.html – Guy

+0

오 .. 알겠습니다. 업데이트에 대한 감사합니다. – Tariq