0

대학 프로젝트 용으로 Amazon Web Services와 협력하고 있습니다. MapReduce에 데이터를 사용하려면 관계형 데이터베이스 (AWS RDS)에서 S3로 덤프해야합니다. MapReduce가 끝나면 출력 파일을 분할하고 그 파일을 자신의 S3 버킷에로드해야합니다.AWS MapReduce 용 데이터 준비 및 애프터 케어 방법

아마존 웹 서비스 환경에서 이것을 수행하는 좋은 방법은 무엇입니까?

최상의 경우 : RDS 및 MapReduce에 사용되는 EC2 인스턴스 외에 추가 EC2 인스턴스를 사용하지 않고도이 작업을 수행 할 수 있습니까?

MapReduce 작업 흐름을위한 매퍼 (mapper) 및 감속기 기능 및 json 지정자로 python을 사용합니다. 그렇지 않으면 언어 나 기술에 묶여 있지 않습니다.

답변

2

Amazon Elastic MapReduce Developer Guide을 살펴보면 S3에서 입력 데이터, 출력 데이터, 매퍼 스크립트 및 감속기 스크립트의 위치를 ​​지정해야 MapReduce 작업 흐름을 만들 수 있습니다.

사전 처리 (MapReduce 입력 파일을 데이터베이스에서 덤프) 나 후 처리 (예 : MapReduce 출력 파일을 S3의 다른 위치로 분할)해야하는 경우, MapReduce 작업 흐름과 별도로 작업을 수행 할 수 있습니다.

이러한 사전 처리 및 사후 처리 스크립트를 작성하려면 boto library을 사용할 수 있습니다. EC2 인스턴스 또는 S3 버킷에 액세스 할 수있는 다른 컴퓨터에서 실행할 수 있습니다. EC2에서 데이터를 전송하는 것이 더 저렴하고 빠르지 만, EC2 인스턴스를 사용할 수없는 경우 전송할 데이터가 너무 많지 않은 한 자신의 컴퓨터에서 스크립트를 실행할 수 있습니다!

자동화로 원하는 곳까지 갈 수 있습니다. 입력 생성, 새로운 MapReduce 작업 흐름 실행, 작업 완료 및 출력 처리에 대한 대기 등의 작업을 수행 할 수 있습니다. , 모든 것은 버튼을 밀기로 줄어 듭니다.

+0

boto는 매우 좋지만 유감스럽게도 jar 단계에 대한 사용자 정의 기본 클래스를 정의 할 수 없기 때문에 사용하기에 매우 비실용적입니다. – Thomas

+0

좋아, 바보 야, 알아 냈어. – Thomas