기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
CopyActivity
한 위치에서 다른 위치로 데이터를 복사합니다. CopyActivity
S3 DataNodeAND를 입력 및 SqlDataNode 출력으로 지원하며 복사 작업은 정상적으로 수행됩니다 record-by-record. 그러나 CopyActivity
은(는) 다음 조건이 모두 충족되면 고성능 Amazon S3에서 Amazon S3로의 복사를 제공합니다.
-
입력 및 출력은 S3입니다. DataNodes
-
dataFormat
필드는 입력 및 출력이 동일합니다.
압축된 데이터 파일을 입력으로 제공하고 S3 데이터 노드에서 compression
필드를 사용하여 이를 나타내지 않으면 CopyActivity
가 실패할 수도 있습니다. 이 경우 CopyActivity
가 레코드 끝 문자를 제대로 감지하지 못하여 작업이 실패합니다. 또한 디렉토리에서 다른 디렉토리로 복사하고 파일을 디렉토리로 복사할 수 있지만 record-by-record 디렉토리를 파일로 복사할 때 복사가 발생합니다. CopyActivity
마지막으로 CopyActivity
은(는) 멀티파트 Amazon S3 파일 복사를 지원하지 않습니다.
CopyActivity
에는 해당 CSV 지원에 대한 특정 제한이 있습니다. S3를 입력 DataNode 양식으로 사용하는 경우 Amazon S3 입력 및 출력 필드에 CSV 데이터 파일 형식의 Unix/Linux 변형만 사용할 수 있습니다. CopyActivity
Unix/Linux 변형에는 다음 사항이 필요합니다.
-
구분 기호는 ","(쉼표) 문자여야 합니다.
-
레코드가 따옴표로 묶여있지 않습니다.
-
기본 이스케이프 문자가 ASCII 값 92(백슬래시)입니다.
-
레코드의 끝 식별자가 ASCII 값 10(또는 "\n")입니다.
Windows 기반 시스템은 일반적으로 캐리지 리턴과 라인 피드를 함께 사용하는 등 다른 end-of-record 문자 시퀀스를 사용합니다 (ASCII 값 13과 ASCII 값 10). CopyActivity
가 레코드 끝을 제대로 감지할 수 있도록 추가 메커니즘(예: 입력 데이터를 수정하기 위한 사전 복사 스크립트)을 사용하여 이 차이를 수용해야 합니다. 그렇지 않으면 CopyActivity
가 반복적으로 실패합니다.
CopyActivity
를 사용하여 PostgreSQL RDS 객체에서 TSV 데이터 형식으로 내보낼 때 기본 NULL 문자는 \n입니다.
예
다음은 이 객체 유형의 예제입니다. 이 객체는 동일한 파이프라인 정의 파일에서 정의하려는 다른 세 객체를 참조합니다. CopyPeriod
는 Schedule
객체이고 InputData
및 OutputData
는 데이터 노드 객체입니다.
{ "id" : "S3ToS3Copy", "type" : "CopyActivity", "schedule" : { "ref" : "CopyPeriod" }, "input" : { "ref" : "InputData" }, "output" : { "ref" : "OutputData" }, "runsOn" : { "ref" : "MyEc2Resource" } }
구문
액체 호출 필드 | 설명 | 슬롯 유형 |
---|---|---|
schedule | 이 객체는 예약 간격을 실행할 때 호출됩니다. 이 객체의 종속 실행 순서를 설정하려면 사용자가 다른 객체로 일정 참조를 지정해야 합니다. 사용자는 “schedule”: {"ref”: ""} 지정 등 객체에 대한 일정을 명시적으로 설정하여 이 요구 사항을 충족할 수 있습니다. DefaultSchedule 대부분의 경우에서는 모든 객체가 상속할 수 있도록 일정 참조를 기본 파이프라인 객체에 두는 것이 좋습니다. 또는 파이프라인에 일정 트리가 있는 경우(마스터 일정 안의 일정) 사용자가 일정 참조가 있는 부모 객체를 생성할 수 있습니다. 선택형 일정 구성 예제에 대한 자세한 내용은 https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html 단원을 참조하십시오. | 참조 개체, 예: “스케줄”: {"ref”:” “} myScheduleId |
필수 그룹(다음 중 하나를 제공해야 함) | 설명 | 슬롯 유형 |
---|---|---|
runsOn | 활동 또는 명령을 실행할 전산 리소스입니다. Amazon EC2 인스턴스 또는 Amazon EMR 클러스터가 이에 해당합니다. | 참조 객체, 예: “RunSon”: {"ref”:” “} myResourceId |
workerGroup | 작업자 그룹입니다. 이것은 작업 라우팅에 사용됩니다. workerGroup이 있을 때 runsOn 값을 제공하면 workerGroup이 무시됩니다. | String |
선택 필드 | 설명 | 슬롯 유형 |
---|---|---|
attemptStatus | 원격 활동에서 가장 최근에 보고된 상태입니다. | String |
attemptTimeout | 원격 작업 완료의 제한 시간입니다. 이 필드를 설정하면 설정된 시작 시간 이내에 완료되지 않는 원격 활동을 재시도할 수 있습니다. | 기간 |
dependsOn | 실행 가능한 다른 객체의 종속성을 지정합니다. | 참조 객체, 예: “DependSon”: {"ref”:” “} myActivityId |
failureAndRerun모드 | 종속 요소에 장애가 있거나 재시도될 때의 소비자 노드 거동을 설명합니다. | 열거 |
입력 | 입력 데이터 소스입니다. | 참조 객체, 예: “입력”: {"ref”:” myDataNode Id "} |
lateAfterTimeout | 파이프라인 시작 후 객체가 완료되어야 하는 경과 시간입니다. 스케줄 유형이 ondemand (으)로 설정되지 않은 경우에만 트리거됩니다. |
기간 |
maxActiveInstances | 구성요소의 동시 활성 인스턴스 최대수입니다. 재실행은 활성 인스턴스의 수에 포함되지 않습니다. | Integer |
maximumRetries | 장애 시 재시도 최대 횟수 | Integer |
onFail | 현재 객체 장애 시 실행할 작업입니다. | 참조 객체, 예: “OnFail”: {"ref”:” “} myActionId |
onLateAction | 객체가 아직 예약되지 않았거나 아직 완료되지 않은 경우에 트리거되어야 하는 작업입니다. | 참조 객체, 예: "onLateAction“: {" ref”:” “} myActionId |
onSuccess | 현재 객체 성공 시 실행할 작업입니다. | 참조 객체, 예: “OnSuccess”: {"ref”:” “} myActionId |
output | 출력 데이터 소스입니다. | 참조 개체, 예: “출력”: {"ref”:” myDataNode Id "} |
parent | 슬롯을 상속할 현재 객체의 부모입니다. | 참조 객체, 예: “부모”: {"ref”:” myBaseObject Id "} |
pipelineLogUri | 파이프라인의 로그를 업로드하기 위한 S3 URI (예: 's3://BucketName/Key/ '). | String |
precondition | 또는 사전 조건을 정의합니다. 모든 사전 조건이 충족되기 전까지 데이터 노드에 "READY"가 표시되지 않습니다. | 참조 객체, 예: “전제 조건”: {"ref”:” “} myPreconditionId |
reportProgressTimeout | 원격 작업에서 reportProgress를 연속으로 호출하는 제한 시간입니다. 이 필드를 설정하면 지정된 기간 동안 진행 상황을 보고하지 않는 원격 활동은 중단된 것으로 간주하고 재시도할 수 있습니다. | 기간 |
retryDelay | 두 번의 재시도 사이의 제한 시간 간격입니다. | 기간 |
scheduleType | 일정 유형을 사용하여 파이프라인 정의에 있는 객체의 일정을 간격 시작 시점으로 또는 종료 시점으로 지정할 수 있습니다. 시계열 스타일 일정 조정은 각 간격이 종료될 때 인스턴스 일정이 지정되고 Cron 스타일 일정 조정은 각 간격이 시작될 때 인스턴스 일정이 지정됩니다. 온디맨드 일정을 사용하면 파이프라인을 활성화될 때 한 번씩 실행할 수 있습니다. 이 경우 다시 실행하기 위해 파이프라인을 복제하거나 다시 생성할 필요가 없습니다. 온디맨드 일정을 사용하려면 기본 객체에서 지정해야 하며, 이것이 파이프라인의 객체에 지정된 유일한 schuleType이어야 합니다. 온디맨드 파이프라인을 사용하려면 이후 실행할 때마다 ActivatePipeline 작업을 호출하기만 하면 됩니다. 값은 cron, ondemand 및 timeseries입니다. | 열거 |
실행 시간 필드 | 설명 | 슬롯 유형 |
---|---|---|
@activeInstances | 현재 예약되어 있는 활성 인스턴스 객체의 목록입니다. | 참조 객체 (예: “ActiveInstances”: {"ref”:” Id "} myRunnableObject |
@actualEndTime | 이 객체의 실행이 완료된 시간입니다. | DateTime |
@actualStartTime | 이 객체의 실행이 시작된 시간입니다. | DateTime |
cancellationReason | 이 객체가 취소된 경우의 cancellationReason입니다. | String |
@cascadeFailedOn | 객체 실패가 발생한 종속 체인에 대한 설명입니다. | 참조 객체, 예: "cascadeFailedOn“: {" ref”:” Id "} myRunnableObject |
emrStepLog | EMR 활동 시도 시에만 사용할 수 있는 EMR 단계 로그 | String |
errorId | 이 객체가 실패한 경우의 errorId입니다. | String |
errorMessage | 이 객체가 실패한 경우의 errorMessage입니다. | String |
errorStackTrace | 이 객체가 실패한 경우의 오류 스택 트레이스입니다. | String |
@finishedTime | 이 객체의 실행이 완료된 시간입니다. | DateTime |
hadoopJobLog | EMR 기반 활동 시도 시에만 사용할 수 있는 하둡 작업 로그. | 문자열 |
@healthStatus | 종료 상태에 도달한 마지막 객체 인스턴스의 성공 또는 실패를 반영하는 객체의 상태입니다. | String |
@healthStatusFromInstanceId | 종료 상태에 도달한 마지막 인스턴스 객체의 ID입니다. | String |
@ 시간 healthStatusUpdated | 상태가 마지막으로 업데이트된 시간입니다. | DateTime |
hostname | 작업 시도를 선택한 클라이언트의 호스트 이름입니다. | String |
@lastDeactivatedTime | 이 객체가 마지막으로 비활성화된 시간입니다. | DateTime |
@ latestCompletedRun 시간 | 실행이 완료된 최근 실행 시간입니다. | DateTime |
@latestRunTime | 실행이 예약된 최근 실행 시간입니다. | DateTime |
@nextRunTime | 다음으로 예약된 실행 시간입니다. | DateTime |
reportProgressTime | 원격 활동에서 진행 상황을 보고한 가장 최근 시간입니다. | DateTime |
@scheduledEndTime | 객체의 일정 종료 시간 | DateTime |
@scheduledStartTime | 객체의 일정 시작 시간 | DateTime |
@상태 | 이 객체의 상태입니다. | String |
@version | 객체와 함께 생성된 파이프라인 버전입니다. | String |
@waitingOn | 이 객체가 대기 중인 종속 요소 목록에 대한 설명입니다. | 참조 객체, 예: “WaitingOn”: {"ref”:” Id "} myRunnableObject |
시스템 필드 | 설명 | 슬롯 유형 |
---|---|---|
@오류 | 잘못 형성된 객체를 설명하는 오류 | String |
@pipelineId | 이 객체가 속하는 파이프라인의 ID | String |
@sphere | 객체의 타원 무늬는 수명 주기 내 위치를 나타냅니다. Component Objects는 Attempt Objects를 실행하는 Instance Objects를 야기합니다. | String |