2014-09-04 5 views
1

안녕하세요, Amazon EMR에서 실행하려는 일일 데이터 가져 오기 돼지 스크립트가 있습니다. 간단한 작업 흐름 또는 데이터 파이프 라인을 사용하여 작업을 예약하고 모니터링해야합니까? 내가 데이터 파이프 라인을 통해 가려고했지만 출력을 필요로하는 것 .. 내가 사용자 정의 돼지 스크립트를 실행하는 경우이 출력에 들어가는거야? 데이터 가져 오기 작업/작업을 위해 미리 만들어진 돼지 스크립트를 사용하기를 기대합니까?Amazon SWF 대 돼지 스크립트 용 데이터 파이프

제 경우에는 S3 입력에서 가져 와서 dynamodb로 밀어 넣는 데이터 변환을하는 돼지 스크립트가 있습니다. 데이터 파이프 라인에서이 돼지 스크립트를 스케줄링하려고하면, 나는 돼지 활동 유형과 dynamotb 템플릿에 s3이 있음을 알았지 만, 돼지 스크립트를 실행하고 데이터를 변환하기 전에 사용자 정의/수정하는 방법을 모르겠습니다. 발전기 DB에. 이 과정에서 s3 및 dynamodb mappping은 어디에 설정되어 있습니까? 돼지 스크립트가 s3에서 가져오고 다이너 모브로 내보내기 만해도 과중합니까?

답변

1

간단한 워크 플로는 워크 플로를 관리하는 데 유용합니다. 매우 간단한 용어로 히스토리 추적, 신호, 타이머 등과 같은 많은 기능을 갖춘 대기열입니다.

데이터 파이프 라인은 ETL 종류 엔진이 필요할 때 유용합니다. 주기적으로 작업을 예약하고, 다른 작업 간의 종속성을 처리하며, 재 시도를 처리하는 기능을 제공합니다. 또한 EMR/EC2를 시작하고 종료하는 것과 같은 리소스에 대해 걱정할 필요가 없습니다.

여러분은 항상 자신의 상태 시스템을 작성하여 SWF 위에 이러한 모든 것을 구현할 수 있습니다. 그러나 IMO, 유스 케이스에 데이터 파이프 라인을 사용하는 것이 좋습니다.


데이터 파이프 라인을 사용하여 사용자 지정 돼지 작업을 실행하려면 준비를 사용하지 않도록 설정해야합니다.

'무대'거짓

단계 = PigActivity에 선택 필드입니다.

{ 
    "name": "DefaultActivity", 
    "id": "ActivityId_1", 
    "type": "PigActivity", 
    "stage": "false", 
    "scriptUri": "s3://bucket/query", 
    "scriptVariable": [ 
    "param1=value1", 
    "param2=value2" 
    ], 
    "schedule": { 
    "ref": "ScheduleId_l" 
    }, 
    "runsOn": { 
    "ref": "EmrClusterId_1" 
    } 
}