

AWS Data Pipeline は新規顧客には利用できなくなりました。の既存のお客様は、通常どおりサービスを AWS Data Pipeline 引き続き使用できます。[詳細はこちら](https://aws.amazon.com/blogs/big-data/migrate-workloads-from-aws-data-pipeline/)

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# アクティビティ
<a name="dp-object-activities"></a>

 AWS Data Pipeline アクティビティオブジェクトは次のとおりです。

**Topics**
+ [CopyActivity](dp-object-copyactivity.md)
+ [EmrActivity](dp-object-emractivity.md)
+ [HadoopActivity](dp-object-hadoopactivity.md)
+ [HiveActivity](dp-object-hiveactivity.md)
+ [HiveCopyActivity](dp-object-hivecopyactivity.md)
+ [PigActivity](dp-object-pigactivity.md)
+ [RedshiftCopyActivity](dp-object-redshiftcopyactivity.md)
+ [ShellCommandActivity](dp-object-shellcommandactivity.md)
+ [SqlActivity](dp-object-sqlactivity.md)

# CopyActivity
<a name="dp-object-copyactivity"></a>

​ある場所から別の場所にデータをコピーします。`CopyActivity` は入出力として [S3DataNode](dp-object-s3datanode.md) と [SqlDataNode](dp-object-sqldatanode.md) をサポートし、コピーオペレーションは通常、レコード単位で実行されます。ただし、以下のすべての条件が満たされた場合、`CopyActivity` は Amazon S3 から Amazon S3 への高速コピーを実行します。
+ 入力と出力が S3DataNodes であること
+ `dataFormat` フィールドが入力と出力で同じであること

入力として圧縮データファイルを指定した場合に、それを S3 データノードの `compression` フィールドを使用して示していなければ、`CopyActivity` は失敗することがあります。この場合、`CopyActivity` がレコード終了文字を適切に検出できないために、操作が失敗しています。さらに、`CopyActivity` では、ディレクトリから別のディレクトリへのコピー、および、ファイルのディレクトリへのコピーがサポートされますが、ディレクトリをファイルにコピーする際はレコード単位のコピーが実行されます。また、`CopyActivity` では、マルチパートの Amazon S3 ファイルのコピーはサポートされません。

`CopyActivity` には CSV サポートに関して特定の制限があります。`CopyActivity` の入力として S3DataNode を使用するとき、Amazon S3 入出力フィールドに使用できるのは、Unix/Linux の CSV データファイル形式のみです。この Unix/Linux 形式では、次の条件が満たされる必要があります。
+ 区切り文字はカンマ（,）文字です。
+ レコードが引用符で囲まれることはありません。
+ デフォルトのエスケープ文字は、ASCII 値 92（バックスラッシュ）です。
+ レコード終了識別子は、ASCII 値 10（"\$1n"）です。

Windows ベースのシステムでは、通常、復帰と改行の連続（ASCII 値 13 および ASCII 値 10）という別のレコード終了文字が使用されています。入力データを変更するコピー前スクリプトなどを利用して、この違いを吸収し、`CopyActivity` が適切にレコード終端を検出できるようにする必要があります。そうしないと、`CopyActivity` が繰り返し失敗します。

`CopyActivity` を使用して PostgreSQL RDS オブジェクトから TSV データ形式にエクスポートする場合、デフォルトの NULL 文字は \$1n です。

## 例
<a name="copyactivity-example"></a>

以下は、このオブジェクト型の例です。このオブジェクトは、同じパイプライン定義ファイルで定義した他のオブジェクトを 3 つ参照します。`CopyPeriod` は `Schedule` オブジェクトで、`InputData` と `OutputData` はデータノードオブジェクトです。

```
{
  "id" : "S3ToS3Copy",
  "type" : "CopyActivity",
  "schedule" : { "ref" : "CopyPeriod" },
  "input" : { "ref" : "InputData" },
  "output" : { "ref" : "OutputData" },
  "runsOn" : { "ref" : "MyEc2Resource" }
}
```

## 構文
<a name="copyactivity-syntax"></a>


****  

| オブジェクト呼び出しフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| スケジュール | このオブジェクトは、スケジュール期間の実行中に呼び出されます。ユーザーは、このオブジェクトの依存関係の実行順序を設定するには、別のオブジェクトへのスケジュール参照を指定する必要があります。ユーザーは、オブジェクトでスケジュールを明示的に設定して、この要件を満たすことができます。たとえば、"schedule": \$1"ref": "DefaultSchedule"\$1 と指定します。ほとんどの場合、すべてのオブジェクトがそのスケジュールを継承するように、スケジュール参照をデフォルトのパイプラインオブジェクトに配置することをお勧めします。または、パイプラインにスケジュールのツリー (マスタースケジュール内のスケジュール) がある場合、ユーザーは、スケジュール参照がある親オブジェクトを作成することができます。オプションのスケジュール設定の例については、「[https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html)」を参照してください。 | 参照オブジェクト ("schedule":\$1"ref":"myScheduleId"\$1 など) | 


****  

| 必須のグループ (次のいずれかが必要です) | 説明 | スロットタイプ | 
| --- | --- | --- | 
| runsOn | アクティビティまたはコマンドを実行するコンピューティングリソース。たとえば、Amazon EC2 インスタンスまたは Amazon EMR クラスター。 | 参照オブジェクト ("runsOn":\$1"ref":"myResourceId"\$1 など) | 
| workerGroup | ワーカーグループ。これはルーティングタスクに使用されます。runsOn 値を指定して、workerGroup がある場合、workerGroup は無視されます。 | String | 

 


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| attemptStatus | リモートアクティビティから最も最近報告されたステータス。 | String | 
| attemptTimeout | リモートの作業完了のタイムアウト。設定された場合、設定された開始時間内に完了しなかったリモートアクティビティを再試行することができます。 | Period | 
| dependsOn | 実行可能な別のオブジェクトで依存関係を指定します。 | 参照オブジェクト ("dependsOn":\$1"ref":"myActivityId"\$1 など) | 
| failureAndRerunMode | 依存関係が失敗または再実行されたときのコンシューマーノードの動作を示します。 | 一覧表 | 
| input | 入力データソース。 | 参照オブジェクト ("input":\$1"ref":"myDataNodeId"\$1 など) | 
| lateAfterTimeout | オブジェクトが完了しなければならない、パイプライン開始からの経過時間。スケジュールタイプが ondemand に設定されていない場合にのみトリガーされます。 | Period | 
| maxActiveInstances | コンポーネントで同時にアクティブになるインスタンスの最大数。再実行はアクティブなインスタンスの数にはカウントされません。 | 整数 | 
| maximumRetries | 失敗時の最大再試行回数 | 整数 | 
| onFail | 現在のオブジェクトが失敗したときに実行するアクション。 | 参照オブジェクト (onFail:\$1"ref":"myActionId"\$1 など) | 
| onLateAction | オブジェクトが予定されていないか、まだ完了していない場合にトリガーされるアクション。 | 参照オブジェクト ("onLateAction":\$1"ref":"myActionId"\$1 など) | 
| onSuccess | 現在のオブジェクトが成功したときに実行するアクション。 | 参照オブジェクト ("onSuccess":\$1"ref":"myActionId"\$1 など) | 
| output | 出力データソース。 | 参照オブジェクト ("output":\$1"ref":"myDataNodeId"\$1 など) | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト ("parent":\$1"ref":"myBaseObjectId"\$1 など) | 
| pipelineLogUri | パイプラインのログをアップロードするための S3 URI (s3://BucketName/Key/ など)。 | String | 
| precondition | オプションで前提条件を定義します。すべての前提条件を満たすまで、データノードは "READY" とマークされません。 | 参照オブジェクト ("precondition":\$1"ref":"myPreconditionId"\$1 など) | 
| reportProgressTimeout | reportProgress へのリモート作業の連続した呼び出しのタイムアウト。設定された場合、指定された期間の進捗状況を報告しないリモートアクティビティは停止されたと見なし、再試行できます。 | Period | 
| retryDelay | 2 回の再試行の間のタイムアウト期間。 | Period | 
| scheduleType | スケジュールタイプによって、パイプライン定義のオブジェクトを、期間の最初にスケジュールするか、最後にスケジュールするかを指定できます。[Time Series Style Scheduling] は、インスタンスが各間隔の最後にスケジュールされることを意味し、[Cron Style Scheduling] は、インスタンスが各間隔の最初にスケジュールされることを意味します。オンデマンドスケジュールにより、アクティベーションごとに 1 回パイプラインを実行することができます。つまり、パイプラインを再実行するために、クローンしたり再作成したりする必要はありません。オンデマンドスケジュールを使用する場合は、デフォルトオブジェクトで指定し、パイプラインのオブジェクトに対して指定される唯一の scheduleType である必要があります。オンデマンドパイプラインを使用するには、それ以降の実行ごとに、ActivatePipeline オペレーションを呼び出すだけです。値は、cron、ondemand、および timeseries です。 | 一覧表 | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @activeInstances | 現在スケジュールされているアクティブなインスタンスオブジェクトのリスト。 | 参照オブジェクト ("activeInstances":\$1"ref":"myRunnableObjectId"\$1 など) | 
| @actualEndTime | このオブジェクトの実行が終了した時刻。 | DateTime | 
| @actualStartTime | このオブジェクトの実行が開始された時刻。 | DateTime | 
| cancellationReason | このオブジェクトがキャンセルされた場合の cancellationReason。 | String | 
| @cascadeFailedOn | オブジェクトが失敗した際の依存関係チェーンの説明。 | 参照オブジェクト ("cascadeFailedOn":\$1"ref":"myRunnableObjectId"\$1 など) | 
| emrStepLog | EMR アクティビティの試行でのみ使用可能な EMR ステップログ | String | 
| errorId | このオブジェクトが失敗した場合は errorId。 | String | 
| errorMessage | このオブジェクトが失敗した場合は errorMessage。 | String | 
| errorStackTrace | このオブジェクトが失敗した場合は、エラースタックトレース。 | String | 
| @finishedTime | このオブジェクトが実行を終了した時刻。 | DateTime | 
| hadoopJobLog | EMR ベースのアクティビティで試みることができる Hadoop ジョブのログ。 | String | 
| @healthStatus | 終了状態に達した最後のオブジェクトインスタンスの成功または失敗を反映する、オブジェクトのヘルスステータス。 | String | 
| @healthStatusFromInstanceId | 終了状態に達した最後のインスタンスオブジェクトの ID。 | String | 
| @healthStatusUpdatedTime | ヘルス状態が最後に更新された時間。 | DateTime | 
| hostname | タスクの試行を取得したクライアントのホスト名。 | String | 
| @lastDeactivatedTime | このオブジェクトが最後に非アクティブ化された時刻。 | DateTime | 
| @latestCompletedRunTime | 実行が完了した最後の実行の時刻。 | DateTime | 
| @latestRunTime | 実行がスケジュールされた最後の実行の時刻。 | DateTime | 
| @nextRunTime | 次回にスケジュールされた実行の時刻。 | DateTime | 
| reportProgressTime | リモートアクティビティで進捗状況が報告された最新の時刻。 | DateTime | 
| @scheduledEndTime | オブジェクトの予定された終了時刻 | DateTime | 
| @scheduledStartTime | オブジェクトの予定された開始時刻 | DateTime | 
| @status | このオブジェクトのステータス。 | String | 
| @version | オブジェクトが作成されたパイプラインのバージョン。 | String | 
| @waitingOn | このオブジェクトが待機している依存関係のリストの説明。 | 参照オブジェクト ("waitingOn":\$1"ref":"myRunnableObjectId"\$1 など) | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します | String | 

## 以下の資料も参照してください。
<a name="copyactivity-seealso"></a>
+ [ShellCommandActivity](dp-object-shellcommandactivity.md)
+ [EmrActivity](dp-object-emractivity.md)
+ [を使用して MySQL データを Amazon S3 にエクスポートする AWS Data Pipeline](dp-copydata-mysql.md)

# EmrActivity
<a name="dp-object-emractivity"></a>

 EMR クラスターを実行します。

AWS Data Pipeline は、Amazon EMR とは異なる形式のステップを使用します。たとえば、`EmrActivity`ステップフィールドの JAR 名の後にカンマ区切りの引数 AWS Data Pipeline を使用します。次の例は、Amazon EMR 形式のステップと、同等の AWS Data Pipeline のステップです。

```
s3://amzn-s3-demo-bucket/MyWork.jar arg1 arg2 arg3
```

```
"s3://amzn-s3-demo-bucket/MyWork.jar,arg1,arg2,arg3"
```

## 例
<a name="emractivity-example"></a>

以下は、このオブジェクト型の例です。この例では、旧バージョンの Amazon EMR を使用しています。現在使用しているバージョンの Amazon EMR クラスターで、この例が正しいことを検証してください。

このオブジェクトは、同じパイプライン定義ファイルで定義した他のオブジェクトを 3 つ参照します。`MyEmrCluster` は `EmrCluster` オブジェクトで、`MyS3Input` と `MyS3Output` は `S3DataNode` オブジェクトです。

**注記**  
この例では、`step` フィールドをクラスター文字列（Pig スクリプト、Hadoop ストリーミングクラスター、パラメータを含む独自のカスタム JAR など）に置き換えることができます。

Hadoop 2.x (AMI 3.x)

```
{
  "id" : "MyEmrActivity",
  "type" : "EmrActivity",
  "runsOn" : { "ref" : "MyEmrCluster" },
  "preStepCommand" : "scp remoteFiles localFiles",
  "step" : ["s3://amzn-s3-demo-bucket/myPath/myStep.jar,firstArg,secondArg,-files,s3://amzn-s3-demo-bucket/myPath/myFile.py,-input,s3://myinputbucket/path,-output,s3://myoutputbucket/path,-mapper,myFile.py,-reducer,reducerName","s3://amzn-s3-demo-bucket/myPath/myotherStep.jar,..."],
  "postStepCommand" : "scp localFiles remoteFiles",
  "input" : { "ref" : "MyS3Input" },
  "output" : { "ref" : "MyS3Output" }
}
```

**注記**  
引数を 1 ステップでアプリケーションに渡すには、以下の例のように、スクリプトのパスに Region を指定する必要があります。さらに、渡す引数をエスケープすることが必要になる場合があります。たとえば、`script-runner.jar` を使ってシェルスクリプトを実行する場合、スクリプトに引数を渡すには、引数を区切るカンマをエスケープする必要があります。次のステップスロットはそれを行う方法を示しています。  

```
"step" : "s3://eu-west-1.elasticmapreduce/libs/script-runner/script-runner.jar,s3://datapipeline/echo.sh,a\\\\,b\\\\,c"
```
このステップでは、`script-runner.jar` を使って `echo.sh` シェルスクリプトを実行し、`a`、`b`、`c` を単一の引数としてスクリプトに渡します。最初のエスケープ文字は結果として生じる引数から削除されるので再度エスケープする必要があります。たとえば、`File\.gz` を引数として JSON に渡す場合は、それを `File\\\\.gz` を使ってエスケープできます。ただし、最初のエスケープは破棄されるため、`File\\\\\\\\.gz ` を使う必要があります。

## 構文
<a name="emractivity-syntax"></a>


****  

| オブジェクト呼び出しフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| スケジュール | このオブジェクトは、スケジュール期間の実行中に呼び出されます。このオブジェクトの依存関係の実行順序を設定するために、別のオブジェクトへのスケジュール参照を指定します。この要件を満たすには、オブジェクトのスケジュールを明示的に設定できます。たとえば、"schedule": \$1"ref": "DefaultSchedule"\$1 と指定します。ほとんどの場合、すべてのオブジェクトがそのスケジュールを継承するように、スケジュール参照をデフォルトのパイプラインオブジェクトに配置することをお勧めします。または、パイプラインにスケジュールのツリー (マスタースケジュール内のスケジュール) がある場合は、スケジュール参照がある親オブジェクトを作成できます。オプションのスケジュール設定の例については、「[https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html)」を参照してください。 | 参照オブジェクト ("schedule":\$1"ref":"myScheduleId"\$1 など) | 

 


****  

| 必須のグループ (次のいずれかが必要です) | 説明 | スロットタイプ | 
| --- | --- | --- | 
| runsOn | このジョブが実行される Amazon EMR クラスター。 | 参照オブジェクト ("​runsOn":\$1"ref":"myEmrClusterId"\$1 など) | 
| workerGroup | ワーカーグループ。これはルーティングタスクに使用されます。値 runsOn を指定して、workerGroup がある場合、workerGroup は無視されます。 | String | 

 


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| attemptStatus | リモートアクティビティから最も最近報告されたステータス。 | String | 
| attemptTimeout | リモートの作業完了のタイムアウト。設定された場合、設定された開始時間内に完了しなかったリモートアクティビティを再試行することができます。 | Period | 
| dependsOn | 実行可能な別のオブジェクトで依存関係を指定します。 | 参照オブジェクト ("dependsOn":\$1"ref":"myActivityId"\$1 など) | 
| failureAndRerunMode | 依存関係が失敗または再実行されたときのコンシューマーノードの動作を示します。 | 一覧表 | 
| input | 入力データの場所。 | 参照オブジェクト ("input":\$1"ref":"myDataNodeId"\$1 など) | 
| lateAfterTimeout | オブジェクトが完了しなければならない、パイプライン開始からの経過時間。スケジュールタイプが ondemand に設定されていない場合にのみトリガーされます。 | Period | 
| maxActiveInstances | コンポーネントで同時にアクティブになるインスタンスの最大数。再実行はアクティブなインスタンスの数にはカウントされません。 | 整数 | 
| maximumRetries | 失敗時の最大再試行回数。 | 整数 | 
| onFail | 現在のオブジェクトが失敗したときに実行するアクション。 | 参照オブジェクト ("onFail":\$1"ref":"myActionId"\$1 など) | 
| onLateAction | オブジェクトが予定されていないか、まだ完了していない場合にトリガーされるアクション。 | 参照オブジェクト ("onLateAction":\$1"ref":"myActionId"\$1 など) | 
| onSuccess | 現在のオブジェクトが成功したときに実行するアクション。 | 参照オブジェクト ("onSuccess":\$1"ref":"myActionId"\$1 など) | 
| output | 出力データの場所。 | 参照オブジェクト ("output":\$1"ref":"myDataNodeId"\$1 など) | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト ("parent":\$1"ref":"myBaseObjectId"\$1 など) | 
| pipelineLogUri | パイプラインのログをアップロードするための Amazon S3 URI (s3://BucketName/Prefix/ など)。 | String | 
| postStepCommand | すべてのステップが完了した後に実行するシェルスクリプト。スクリプトを複数（最大 255 個）指定するには、postStepCommand フィールドを複数追加します。 | String | 
| precondition | オプションで前提条件を定義します。すべての前提条件を満たすまで、データノードは "READY" とマークされません。 | 参照オブジェクト ("precondition":\$1"ref":"myPreconditionId"\$1 など) | 
| preStepCommand | ステップを実行する前に実行するシェルスクリプト。スクリプトを複数（最大 255 個）指定するには、preStepCommand フィールドを複数追加します。 | String | 
| reportProgressTimeout | reportProgress へのリモート作業の連続した呼び出しのタイムアウト。設定された場合、指定された期間の進捗状況を報告しないリモートアクティビティは停止されたと見なし、再試行できます。 | Period | 
| resizeClusterBeforeRunning |  入力または出力として指定された DynamoDB テーブルに対応するため、このアクティビティを実行する前にクラスターのサイズを変更します。  が入力または出力データノード`DynamoDBDataNode`として `EmrActivity`を使用し、 `resizeClusterBeforeRunning`を に設定すると`TRUE`、 は`m3.xlarge`インスタンスタイプを使用して AWS Data Pipeline 開始します。これによりインスタンスタイプの選択が `m3.xlarge` に上書きされるため、月別コストが増加することがあります。   | ブール値 | 
| resizeClusterMaxInstances | サイズ変更アルゴリズムによってリクエストできるインスタンスの最大数の制限。 | 整数 | 
| retryDelay | 2 回の再試行の間のタイムアウト期間。 | Period | 
| scheduleType | スケジュールタイプでは、パイプライン定義のオブジェクトを間隔の最初にスケジュールするか、間隔の最後にスケジュールするかを指定できます。値は、cron、ondemand、および timeseries です。timeseries スケジューリングでは、インスタンスを各間隔の最後にスケジュールします。cron スケジューリングでは、インスタンスを各間隔の最初にスケジュールします。ondemand スケジュールにより、アクティベーションごとに 1 回パイプラインを実行することができます。パイプラインを再実行するために、クローンしたり再作成したりする必要はありません。ondemand スケジュールを使用する場合は、デフォルトオブジェクトで指定し、パイプラインのオブジェクトに対して指定される唯一の scheduleType である必要があります。ondemand パイプラインを使用するには、それ以降の実行ごとに、ActivatePipeline オペレーションを呼び出します。 | 一覧表 | 
| ステップ | クラスターが実行する 1 つ以上のステップ。ステップを複数 (最大 255 個) 指定するには、ステップフィールドを複数追加します。JAR 名の後にカンマで区切って引数を使用します (例: s3://amzn-s3-demo-bucket/MyWork.jar,arg1,arg2,arg3)。 | String | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @activeInstances | 現在スケジュールされているアクティブなインスタンスオブジェクトのリスト。 | 参照オブジェクト ("activeInstances":\$1"ref":"myRunnableObjectId"\$1 など) | 
| @actualEndTime | このオブジェクトの実行が終了した時刻。 | DateTime | 
| @actualStartTime | このオブジェクトの実行が開始された時刻。 | DateTime | 
| cancellationReason | このオブジェクトがキャンセルされた場合の cancellationReason。 | String | 
| @cascadeFailedOn | オブジェクトが失敗した際の依存関係チェーンの説明。 | 参照オブジェクト ("cascadeFailedOn":\$1"ref":"myRunnableObjectId"\$1 など) | 
| emrStepLog | EMR アクティビティの試行でのみ使用可能な Amazon EMR ステップログ | String | 
| errorId | このオブジェクトが失敗した場合は errorId。 | String | 
| errorMessage | このオブジェクトが失敗した場合は errorMessage。 | String | 
| errorStackTrace | このオブジェクトが失敗した場合は、エラースタックトレース。 | String | 
| @finishedTime | このオブジェクトが実行を終了した時刻。 | DateTime | 
| hadoopJobLog | EMR ベースのアクティビティで試みることができる Hadoop ジョブのログ。 | String | 
| @healthStatus | 終了状態に達した最後のオブジェクトインスタンスの成功または失敗を反映する、オブジェクトのヘルスステータス。 | String | 
| @healthStatusFromInstanceId | 終了状態に達した最後のインスタンスオブジェクトの ID。 | String | 
| @healthStatusUpdatedTime | ヘルス状態が最後に更新された時間。 | DateTime | 
| hostname | タスクの試行を取得したクライアントのホスト名。 | String | 
| @lastDeactivatedTime | このオブジェクトが最後に非アクティブ化された時刻。 | DateTime | 
| @latestCompletedRunTime | 実行が完了した最後の実行の時刻。 | DateTime | 
| @latestRunTime | 実行がスケジュールされた最後の実行の時刻。 | DateTime | 
| @nextRunTime | 次回にスケジュールされた実行の時刻。 | DateTime | 
| reportProgressTime | リモートアクティビティで進捗状況が報告された最新の時刻。 | DateTime | 
| @scheduledEndTime | オブジェクトの予定された終了時刻。 | DateTime | 
| @scheduledStartTime | オブジェクトの予定された開始時刻。 | DateTime | 
| @status | このオブジェクトのステータス。 | String | 
| @version | オブジェクトを作成したパイプラインのバージョン。 | String | 
| @waitingOn | このオブジェクトが待機している依存関係のリストの説明。 | 参照オブジェクト ("waitingOn":\$1"ref":"myRunnableObjectId"\$1 など) | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー。 | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID。 | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します。 | String | 

## 以下の資料も参照してください。
<a name="emractivity-seealso"></a>
+ [ShellCommandActivity](dp-object-shellcommandactivity.md)
+ [CopyActivity](dp-object-copyactivity.md)
+ [EmrCluster](dp-object-emrcluster.md)

# HadoopActivity
<a name="dp-object-hadoopactivity"></a>

 クラスターで MapReduce ジョブを実行します。クラスターは AWS Data Pipeline によって管理される EMR クラスターです。または TaskRunner を使用する場合、クラスターは別のリソースです。並列処理を行うときは HadoopActivity を使用します。これにより、YARN フレームワークまたは Hadoop 1 の MapReduce リソースネゴシエータのスケジューリングリソースを使用できます。Amazon EMR ステップアクションを使用して作業を連続的に実行する場合は、依然として [EmrActivity](dp-object-emractivity.md) を使用できます。

## 例
<a name="hadoopactivity-example"></a>

**によって管理される EMR クラスターを使用した HadoopActivity AWS Data Pipeline**  
次の HadoopActivity オブジェクトは、EmrCluster リソースを使用してプログラムを実行します。

```
 {
   "name": "MyHadoopActivity",
   "schedule": {"ref": "ResourcePeriod"},
   "runsOn": {"ref": “MyEmrCluster”},
   "type": "HadoopActivity",
   "preActivityTaskConfig":{"ref":"preTaskScriptConfig”},   
   "jarUri": "/home/hadoop/contrib/streaming/hadoop-streaming.jar",
   "argument": [
     "-files",
     “s3://elasticmapreduce/samples/wordcount/wordSplitter.py“,
     "-mapper",
     "wordSplitter.py",
     "-reducer",
     "aggregate",
     "-input",
     "s3://elasticmapreduce/samples/wordcount/input/",
     "-output",
     “s3://amzn-s3-demo-bucket/MyHadoopActivity/#{@pipelineId}/#{format(@scheduledStartTime,'YYYY-MM-dd')}"
   ],
   "maximumRetries": "0",
   "postActivityTaskConfig":{"ref":"postTaskScriptConfig”},
   "hadoopQueue" : “high”
 }
```

こちらの対応する *MyEmrCluster* では Hadoop 2 AMI の YARN で FairScheduler とキューを設定します。

```
{
  "id" : "MyEmrCluster",
  "type" : "EmrCluster",
   "hadoopSchedulerType" : "PARALLEL_FAIR_SCHEDULING",
  “amiVersion” : “3.7.0”,
  "bootstrapAction" : ["s3://Region.elasticmapreduce/bootstrap-actions/configure-hadoop,-z,yarn.scheduler.capacity.root.queues=low\,high\,default,-z,yarn.scheduler.capacity.root.high.capacity=50,-z,yarn.scheduler.capacity.root.low.capacity=10,-z,yarn.scheduler.capacity.root.default.capacity=30”]
}
```

これは Hadoop 1 で FairScheduler を設定するために使う EmrCluster です。

```
{
      "id": "MyEmrCluster",
      "type": "EmrCluster",    
      "hadoopSchedulerType": "PARALLEL_FAIR_SCHEDULING",
      "amiVersion": "2.4.8",
      "bootstrapAction": "s3://Region.elasticmapreduce/bootstrap-actions/configure-hadoop,-m,mapred.queue.names=low\\\\,high\\\\,default,-m,mapred.fairscheduler.poolnameproperty=mapred.job.queue.name"
          }
```

次の EmrCluster は Hadoop 2 AMI の CapacityScheduler を設定します。

```
{
      "id": "MyEmrCluster",
      "type": "EmrCluster",
      "hadoopSchedulerType": "PARALLEL_CAPACITY_SCHEDULING",
      "amiVersion": "3.7.0",
      "bootstrapAction": "s3://Region.elasticmapreduce/bootstrap-actions/configure-hadoop,-z,yarn.scheduler.capacity.root.queues=low\\\\,high,-z,yarn.scheduler.capacity.root.high.capacity=40,-z,yarn.scheduler.capacity.root.low.capacity=60"
    }
```

**既存の EMR クラスターを使用する HadoopActivity**  
この例では、ワーカーグループと TaskRunner を使用して、既存の EMR クラスターでプログラムを実行します。次のパイプライン定義では HadoopActivity を使用して以下の操作を行います。
+ *myWorkerGroup* リソースでのみ MapReduce プログラムを実行する。ワーカーグループの詳細については、「[Task Runnerを使用した既存のリソースでの作業の実行](dp-how-task-runner-user-managed.md)」を参照してください。
+ preActivityTaskConfig と postActivityTaskConfig を実行する。

```
{
  "objects": [
    {
      "argument": [
        "-files",
        "s3://elasticmapreduce/samples/wordcount/wordSplitter.py",
        "-mapper",
        "wordSplitter.py",
        "-reducer",
        "aggregate",
        "-input",
        "s3://elasticmapreduce/samples/wordcount/input/",
        "-output",
        "s3://amzn-s3-demo-bucket/MyHadoopActivity/#{@pipelineId}/#{format(@scheduledStartTime,'YYYY-MM-dd')}"
      ],
      "id": "MyHadoopActivity",
      "jarUri": "/home/hadoop/contrib/streaming/hadoop-streaming.jar",
      "name": "MyHadoopActivity",
      "type": "HadoopActivity"
    },
    {
      "id": "SchedulePeriod",
      "startDateTime": "start_datetime",
      "name": "SchedulePeriod",
      "period": "1 day",
      "type": "Schedule",
      "endDateTime": "end_datetime"
    },
    {
      "id": "ShellScriptConfig",
      "scriptUri": "s3://amzn-s3-demo-bucket/scripts/preTaskScript.sh",
      "name": "preTaskScriptConfig",
      "scriptArgument": [
        "test",
        "argument"
      ],
      "type": "ShellScriptConfig"
    },
    {
      "id": "ShellScriptConfig",
      "scriptUri": "s3://amzn-s3-demo-bucket/scripts/postTaskScript.sh",
      "name": "postTaskScriptConfig",
      "scriptArgument": [
        "test",
        "argument"
      ],
      "type": "ShellScriptConfig"
    },
    {
      "id": "Default",
      "scheduleType": "cron",
      "schedule": {
        "ref": "SchedulePeriod"
      },
      "name": "Default",
      "pipelineLogUri": "s3://amzn-s3-demo-bucket/logs/2015-05-22T18:02:00.343Z642f3fe415",
      "maximumRetries": "0",    
      "workerGroup": "myWorkerGroup",
      "preActivityTaskConfig": {
        "ref": "preTaskScriptConfig"
      },
      "postActivityTaskConfig": {
        "ref": "postTaskScriptConfig"
      }    
    }
  ] 
}
```

## 構文
<a name="hadoopactivity-syntax"></a>


****  

| 必須フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| jarUri | Amazon S3 の JAR の場所または HadoopActivity で実行するクラスターのローカルファイルシステム。 | String | 

 


****  

| オブジェクト呼び出しフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| スケジュール | このオブジェクトは、スケジュール期間の実行中に呼び出されます。ユーザーは、このオブジェクトの依存関係の実行順序を設定するには、別のオブジェクトへのスケジュール参照を指定する必要があります。ユーザーは、オブジェクトでスケジュールを明示的に設定して、この要件を満たすことができます。たとえば、"schedule": \$1"ref": "DefaultSchedule"\$1 と指定します。ほとんどの場合、すべてのオブジェクトがそのスケジュールを継承するように、スケジュール参照をデフォルトのパイプラインオブジェクトに配置することをお勧めします。または、パイプラインにスケジュールのツリー (マスタースケジュール内のスケジュール) がある場合、ユーザーは、スケジュール参照がある親オブジェクトを作成することができます。オプションのスケジュール設定の例については、「[https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html)」を参照してください。 | 参照オブジェクト ("schedule":\$1"ref":"myScheduleId"\$1 など) | 

 


****  

| 必須のグループ (次のいずれかが必要です) | 説明 | スロットタイプ | 
| --- | --- | --- | 
| runsOn | このジョブが実行される EMR クラスター。 | 参照オブジェクト ("runsOn":\$1"ref":"myEmrClusterId"\$1 など) | 
| workerGroup | ワーカーグループ。これはルーティングタスクに使用されます。runsOn 値を指定して、workerGroup がある場合、workerGroup は無視されます。 | String | 

 


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| argument | JAR に渡す引数。 | String | 
| attemptStatus | リモートアクティビティから最も最近報告されたステータス。 | String | 
| attemptTimeout | リモートの作業完了のタイムアウト。設定された場合、設定された開始時間内に完了しなかったリモートアクティビティを再試行することができます。 | Period | 
| dependsOn | 実行可能な別のオブジェクトで依存関係を指定します。 | 参照オブジェクト ("dependsOn":\$1"ref":"myActivityId"\$1 など) | 
| failureAndRerunMode | 依存関係が失敗または再実行されたときのコンシューマーノードの動作を示します。 | 一覧表 | 
| hadoopQueue | アクティビティを送信する先の Hadoop スケジューラーのキュー名。 | String | 
| input | 入力データの場所。 | 参照オブジェクト ("input":\$1"ref":"myDataNodeId"\$1 など) | 
| lateAfterTimeout | オブジェクトが完了しなければならない、パイプライン開始からの経過時間。スケジュールタイプが ondemand に設定されていない場合にのみトリガーされます。 | Period | 
| mainClass | HadoopActivity で実行している JAR のメインクラス。 | String | 
| maxActiveInstances | コンポーネントで同時にアクティブになるインスタンスの最大数。再実行はアクティブなインスタンスの数にはカウントされません。 | 整数 | 
| maximumRetries | 失敗時の最大再試行回数 | 整数 | 
| onFail | 現在のオブジェクトが失敗したときに実行するアクション。 | 参照オブジェクト (onFail:\$1"ref":"myActionId"\$1 など) | 
| onLateAction | オブジェクトが予定されていないか、まだ完了していない場合にトリガーされるアクション。 | 参照オブジェクト ("onLateAction":\$1"ref":"myActionId"\$1 など) | 
| onSuccess | 現在のオブジェクトが成功したときに実行するアクション。 | 参照オブジェクト ("onSuccess":\$1"ref":"myActionId"\$1 など) | 
| output | 出力データの場所。 | 参照オブジェクト ("output":\$1"ref":"myDataNodeId"\$1 など) | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト ("parent":\$1"ref":"myBaseObjectId"\$1 など) | 
| pipelineLogUri | パイプラインのログをアップロードするための S3 URI (s3://BucketName/Key/ など)。 | String | 
| postActivityTaskConfig | 実行するポストアクティビティ設定スクリプト。Amazon S3 のシェルスクリプトの URI と引数のリストで構成されます。 | 参照オブジェクト ("postActivityTaskConfig":\$1"ref":"myShellScriptConfigId"\$1 など) | 
| preActivityTaskConfig | 実行するプリアクティビティ設定スクリプト。Amazon S3 のシェルスクリプトの URI と引数のリストで構成されます。 | 参照オブジェクト ("preActivityTaskConfig":\$1"ref":"myShellScriptConfigId"\$1 など) | 
| precondition | オプションで前提条件を定義します。すべての前提条件を満たすまで、データノードは "READY" とマークされません。 | 参照オブジェクト ("precondition":\$1"ref":"myPreconditionId"\$1 など) | 
| reportProgressTimeout | reportProgress へのリモート作業の連続した呼び出しのタイムアウト。設定された場合、指定された期間の進捗状況を報告しないリモートアクティビティは停止されたと見なし、再試行できます。 | Period | 
| retryDelay | 2 回の再試行の間のタイムアウト期間。 | Period | 
| scheduleType | スケジュールタイプによって、パイプライン定義のオブジェクトを、期間の最初にスケジュールするか、最後にスケジュールするかを指定できます。[Time Series Style Scheduling] は、インスタンスが各間隔の最後にスケジュールされることを意味し、[Cron Style Scheduling] は、インスタンスが各間隔の最初にスケジュールされることを意味します。オンデマンドスケジュールにより、アクティベーションごとに 1 回パイプラインを実行することができます。つまり、パイプラインを再実行するために、クローンしたり再作成したりする必要はありません。オンデマンドスケジュールを使用する場合は、デフォルトオブジェクトで指定し、パイプラインのオブジェクトに対して指定される唯一の scheduleType である必要があります。オンデマンドパイプラインを使用するには、それ以降の実行ごとに、ActivatePipeline オペレーションを呼び出すだけです。値は、cron、ondemand、および timeseries です。 | 一覧表 | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @activeInstances | 現在スケジュールされているアクティブなインスタンスオブジェクトのリスト。 | 参照オブジェクト ("activeInstances":\$1"ref":"myRunnableObjectId"\$1 など) | 
| @actualEndTime | このオブジェクトの実行が終了した時刻。 | DateTime | 
| @actualStartTime | このオブジェクトの実行が開始された時刻。 | DateTime | 
| cancellationReason | このオブジェクトがキャンセルされた場合の cancellationReason。 | String | 
| @cascadeFailedOn | オブジェクトが失敗した際の依存関係チェーンの説明。 | 参照オブジェクト ("cascadeFailedOn":\$1"ref":"myRunnableObjectId"\$1 など) | 
| emrStepLog | EMR アクティビティの試行でのみ使用可能な EMR ステップログ | String | 
| errorId | このオブジェクトが失敗した場合は errorId。 | String | 
| errorMessage | このオブジェクトが失敗した場合は errorMessage。 | String | 
| errorStackTrace | このオブジェクトが失敗した場合は、エラースタックトレース。 | String | 
| @finishedTime | このオブジェクトが実行を終了した時刻。 | DateTime | 
| hadoopJobLog | EMR ベースのアクティビティで試みることができる Hadoop ジョブのログ。 | String | 
| @healthStatus | 終了状態に達した最後のオブジェクトインスタンスの成功または失敗を反映する、オブジェクトのヘルスステータス。 | String | 
| @healthStatusFromInstanceId | 終了状態に達した最後のインスタンスオブジェクトの ID。 | String | 
| @healthStatusUpdatedTime | ヘルス状態が最後に更新された時間。 | DateTime | 
| hostname | タスクの試行を取得したクライアントのホスト名。 | String | 
| @lastDeactivatedTime | このオブジェクトが最後に非アクティブ化された時刻。 | DateTime | 
| @latestCompletedRunTime | 実行が完了した最後の実行の時刻。 | DateTime | 
| @latestRunTime | 実行がスケジュールされた最後の実行の時刻。 | DateTime | 
| @nextRunTime | 次回にスケジュールされた実行の時刻。 | DateTime | 
| reportProgressTime | リモートアクティビティで進捗状況が報告された最新の時刻。 | DateTime | 
| @scheduledEndTime | オブジェクトの予定された終了時刻 | DateTime | 
| @scheduledStartTime | オブジェクトの予定された開始時刻 | DateTime | 
| @status | このオブジェクトのステータス。 | String | 
| @version | オブジェクトが作成されたパイプラインのバージョン。 | String | 
| @waitingOn | このオブジェクトが待機している依存関係のリストの説明。 | 参照オブジェクト ("waitingOn":\$1"ref":"myRunnableObjectId"\$1 など) | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー。 | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID。 | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します。 | String | 

## 以下の資料も参照してください。
<a name="hadoopactivity-seealso"></a>
+ [ShellCommandActivity](dp-object-shellcommandactivity.md)
+ [CopyActivity](dp-object-copyactivity.md)
+ [EmrCluster](dp-object-emrcluster.md)

# HiveActivity
<a name="dp-object-hiveactivity"></a>

EMR クラスターで Hive クエリを実行します。`HiveActivity`​ を使用すると、Amazon EMR アクティビティのセットアップが容易になり、Amazon S3 または Amazon RDS からの入力データに基づいて Hive テーブルが自動的に作成されます。指定する必要があるのは、ソースデータで実行する HiveQL だけです。 は、 `HiveActivity` オブジェクトの入力フィールドに基づいて、`${input1}`、 `${input2}`などの Hive テーブル AWS Data Pipeline を自動的に作成します。

Amazon S3 入力の場合、`dataFormat` フィールドを使用して Hive の列名が作成されます。

MySQL (Amazon RDS) 入力の場合、SQL クエリの列名を使用して Hive の列名が作成されます。

**注記**  
このアクティビティでは、Hive [CSV Serde](https://cwiki.apache.org/confluence/display/Hive/CSV+Serde) を使用しています。

## 例
<a name="hiveactivity-example"></a>

以下は、このオブジェクト型の例です。このオブジェクトは、同じパイプライン定義ファイルで定義した他のオブジェクトを 3 つ参照します。`MySchedule` は `Schedule` オブジェクトで、`MyS3Input` と `MyS3Output` はデータノードオブジェクトです。

```
{
  "name" : "ProcessLogData",
  "id" : "MyHiveActivity",
  "type" : "HiveActivity",
  "schedule" : { "ref": "MySchedule" },
  "hiveScript" : "INSERT OVERWRITE TABLE ${output1} select host,user,time,request,status,size from ${input1};",
  "input" : { "ref": "MyS3Input" },
  "output" : { "ref": "MyS3Output" },
  "runsOn" : { "ref": "MyEmrCluster" }
}
```

## 構文
<a name="hiveactivity-syntax"></a>


****  

| オブジェクト呼び出しフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| スケジュール | このオブジェクトは、スケジュール期間の実行中に呼び出されます。このオブジェクトの依存関係の実行順序を設定するために、別のオブジェクトへのスケジュール参照を指定します。この要件を満たすには、オブジェクトのスケジュールを明示的に設定できます。たとえば、"schedule": \$1"ref": "DefaultSchedule"\$1 と指定します。ほとんどの場合、すべてのオブジェクトがそのスケジュールを継承するように、スケジュール参照をデフォルトのパイプラインオブジェクトに配置することをお勧めします。または、パイプラインにスケジュールのツリー (マスタースケジュール内のスケジュール) がある場合は、スケジュール参照がある親オブジェクトを作成できます。オプションのスケジュール設定の例については、「[https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html)」を参照してください。 | 参照オブジェクト ("schedule":\$1"ref":"myScheduleId"\$1 など) | 

 


****  

| 必須のグループ (次のいずれかが必要です) | 説明 | スロットタイプ | 
| --- | --- | --- | 
| hiveScript | 実行する Hive スクリプト。 | String | 
| scriptUri | 実行される Hive スクリプトの場所 (たとえば、s3: //scriptLocation)。 | String | 

 


****  

| 必須のグループ | 説明 | スロットタイプ | 
| --- | --- | --- | 
| runsOn | この HiveActivity が実行される EMR クラスター。 | 参照オブジェクト ("runsOn":\$1"ref":"myEmrClusterId"\$1 など) | 
| workerGroup | ワーカーグループ。これはルーティングタスクに使用されます。値 runsOn を指定して、workerGroup がある場合、workerGroup は無視されます。 | String | 
| input | 入力データソース。 | 参照オブジェクト ("input":​\$1"ref":"myDataNodeId"\$1 など) | 
| output | 出力データソース。 | 参照オブジェクト ("output":​\$1"ref":"myDataNodeId"\$1 など) | 

 


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| attemptStatus | リモートアクティビティから最も最近報告されたステータス。 | String | 
| attemptTimeout | リモートの作業完了のタイムアウト。設定された場合、設定された開始時間内に完了しなかったリモートアクティビティを再試行することができます。 | Period | 
| dependsOn | 実行可能な別のオブジェクトで依存関係を指定します。 | 参照オブジェクト ("dependsOn":​\$1"ref":"myActivityId"\$1 など) | 
| failureAndRerunMode | 依存関係が失敗または再実行されたときのコンシューマーノードの動作を示します。 | 一覧表 | 
| hadoopQueue | ジョブを送信する先の Hadoop スケジューラーのキュー名。 | String | 
| lateAfterTimeout | オブジェクトが完了しなければならない、パイプライン開始からの経過時間。スケジュールタイプが ondemand に設定されていない場合にのみトリガーされます。 | Period | 
| maxActiveInstances | コンポーネントで同時にアクティブになるインスタンスの最大数。再実行はアクティブなインスタンスの数にはカウントされません。 | 整数 | 
| maximumRetries | 失敗時の最大再試行回数。 | 整数 | 
| onFail | 現在のオブジェクトが失敗したときに実行するアクション。 | 参照オブジェクト ("onFail":​\$1"ref":"myActionId"\$1 など) | 
| onLateAction | オブジェクトが予定されていないか、まだ完了していない場合にトリガーされるアクション。 | 参照オブジェクト ("onLateAction":​\$1"ref":"myActionId"\$1 など) | 
| onSuccess | 現在のオブジェクトが成功したときに実行するアクション。 | 参照オブジェクト ("onSuccess":​\$1"ref":"myActionId"\$1 など) | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト ("parent":​\$1"ref":"myBaseObjectId"\$1 など) | 
| pipelineLogUri | パイプラインのログをアップロードするための S3 URI (s3://BucketName/Key/ など)。 | String | 
| postActivityTaskConfig | 実行するポストアクティビティ設定スクリプト。Amazon S3 のシェルスクリプトの URI と引数のリストで構成されます。 | 参照オブジェクト ("postActivityTaskConfig":\$1"ref":"myShellScriptConfigId"\$1 など) | 
| preActivityTaskConfig | 実行するプリアクティビティ設定スクリプト。Amazon S3 のシェルスクリプトの URI と引数のリストで構成されます。 | 参照オブジェクト ("preActivityTaskConfig":\$1"ref":"myShellScriptConfigId"\$1 など) | 
| precondition | オプションで前提条件を定義します。すべての前提条件を満たすまで、データノードは "READY" とマークされません。 | 参照オブジェクト ("precondition":​\$1"ref":"myPreconditionId"\$1 など) | 
| reportProgressTimeout | reportProgress へのリモート作業の連続した呼び出しのタイムアウト。設定された場合、指定された期間の進捗状況を報告しないリモートアクティビティは停止されたと見なし、再試行できます。 | Period | 
| resizeClusterBeforeRunning | 入力または出力として指定された DynamoDB データノードに対応するため、このアクティビティを実行する前にクラスターのサイズを変更します。 アクティビティで を入力データノードまたは出力データノード`DynamoDBDataNode`として使用し、 `resizeClusterBeforeRunning`を に設定すると`TRUE`、 は`m3.xlarge`インスタンスタイプを使用して AWS Data Pipeline 開始します。これによりインスタンスタイプの選択が `m3.xlarge` に上書きされるため、月別コストが増加することがあります。  | ブール値 | 
| resizeClusterMaxInstances | サイズ変更アルゴリズムによってリクエストできるインスタンスの最大数の制限。 | 整数 | 
| retryDelay | 2 回の再試行の間のタイムアウト期間。 | Period | 
| scheduleType | スケジュールタイプによって、パイプライン定義のオブジェクトを、期間の最初にスケジュールするか、最後にスケジュールするかを指定できます。[Time Series Style Scheduling] は、インスタンスが各間隔の最後にスケジュールされることを意味し、[Cron Style Scheduling] は、インスタンスが各間隔の最初にスケジュールされることを意味します。オンデマンドスケジュールにより、アクティベーションごとに 1 回パイプラインを実行することができます。つまり、パイプラインを再実行するために、クローンしたり再作成したりする必要はありません。オンデマンドスケジュールを使用する場合は、デフォルトオブジェクトで指定し、パイプラインのオブジェクトに対して指定される唯一の scheduleType である必要があります。オンデマンドパイプラインを使用するには、それ以降の実行ごとに、ActivatePipeline オペレーションを呼び出すだけです。値は、cron、ondemand、および timeseries です。 | 一覧表 | 
| scriptVariable | スクリプトの実行時に Amazon EMR が Hive に渡すスクリプト変数を指定します。たとえば、次の例では、スクリプト変数を使って SAMPLE および FILTER\$1DATE という変数を Hive に渡しています: SAMPLE=s3://elasticmapreduce/samples/hive-ads および FILTER\$1DATE=\$1\$1format(@scheduledStartTime,'YYYY-MM-dd')\$1%。このフィールドでは、複数の値を指定でき、script フィールドと scriptUri フィールドの両方で機能します。さらに scriptVariable は stage の設定が true か false かに関係なく機能します。このフィールドは、 AWS Data Pipeline の式と関数を利用して Hive に動的な値を送信するときに特に便利です。 | String | 
| ステージ | スクリプトの実行前または後に、ステージングが有効かどうかを決定します。Hive 11 では許可されていません。Amazon EMR AMI バージョン 3.2.0 以上を使用してください。 | ブール値 | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @activeInstances | 現在スケジュールされているアクティブなインスタンスオブジェクトのリスト。 | 参照オブジェクト ("activeInstances":\$1"ref":"myRunnableObjectId"\$1 など) | 
| @actualEndTime | このオブジェクトの実行が終了した時刻。 | DateTime | 
| @actualStartTime | このオブジェクトの実行が開始された時刻。 | DateTime | 
| cancellationReason | このオブジェクトがキャンセルされた場合の cancellationReason。 | String | 
| @cascadeFailedOn | オブジェクトが失敗した際の依存関係チェーンの説明。 | 参照オブジェクト ("cascadeFailedOn":\$1"ref":"myRunnableObjectId"\$1 など) | 
| emrStepLog | EMR アクティビティの試行でのみ使用可能な Amazon EMR ステップログ。 | String | 
| errorId | このオブジェクトが失敗した場合は errorId。 | String | 
| errorMessage | このオブジェクトが失敗した場合は errorMessage。 | String | 
| errorStackTrace | このオブジェクトが失敗した場合は、エラースタックトレース。 | String | 
| @finishedTime | このオブジェクトが実行を終了した時刻。 | DateTime | 
| hadoopJobLog | EMR ベースのアクティビティで試みることができる Hadoop ジョブのログ。 | String | 
| @healthStatus | 終了状態に達した最後のオブジェクトインスタンスの成功または失敗を反映する、オブジェクトのヘルスステータス。 | String | 
| @healthStatusFromInstanceId | 終了状態に達した最後のインスタンスオブジェクトの ID。 | String | 
| @healthStatusUpdatedTime | ヘルス状態が最後に更新された時間。 | DateTime | 
| hostname | タスクの試行を取得したクライアントのホスト名。 | String | 
| @lastDeactivatedTime | このオブジェクトが最後に非アクティブ化された時刻。 | DateTime | 
| @latestCompletedRunTime | 実行が完了した最後の実行の時刻。 | DateTime | 
| @latestRunTime | 実行がスケジュールされた最後の実行の時刻。 | DateTime | 
| @nextRunTime | 次回にスケジュールされた実行の時刻。 | DateTime | 
| reportProgressTime | リモートアクティビティで進捗状況が報告された最新の時刻。 | DateTime | 
| @scheduledEndTime | オブジェクトの予定終了時刻。 | DateTime | 
| @scheduledStartTime | オブジェクトの予定開始時刻。 | DateTime | 
| @status | このオブジェクトのステータス。 | String | 
| @version | オブジェクトが作成されたパイプラインのバージョン。 | String | 
| @waitingOn | このオブジェクトが待機している依存関係のリストの説明。 | 参照オブジェクト ("waitingOn":​\$1"ref":"myRunnableObjectId"\$1 など) | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー。 | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID。 | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します。 | String | 

## 以下の資料も参照してください。
<a name="hiveactivity-seealso"></a>
+ [ShellCommandActivity](dp-object-shellcommandactivity.md)
+ [EmrActivity](dp-object-emractivity.md)

# HiveCopyActivity
<a name="dp-object-hivecopyactivity"></a>

EMR クラスターで Hive クエリを実行します。​`HiveCopyActivity` を使用すると、DynamoDB テーブル間でのデータのコピーが容易になります。`HiveCopyActivity` では、HiveQL ステートメントを指定して、DynamoDB からの入力データを列および行レベルでフィルター処理できます。

## 例
<a name="hivecopyactivity-example"></a>

以下の例は、`HiveCopyActivity` と `DynamoDBExportDataFormat` を使用して、タイムスタンプに基づいてデータをフィルタリングしながら `DynamoDBDataNode` 間でデータをコピーする方法を示します。

```
{
  "objects": [
    {
      "id" : "DataFormat.1",
      "name" : "DataFormat.1",
      "type" : "DynamoDBExportDataFormat",
      "column" : "timeStamp BIGINT"
    },
    {
      "id" : "DataFormat.2",
      "name" : "DataFormat.2",
      "type" : "DynamoDBExportDataFormat"
    },
    {
      "id" : "DynamoDBDataNode.1",
      "name" : "DynamoDBDataNode.1",
      "type" : "DynamoDBDataNode",
      "tableName" : "item_mapped_table_restore_temp",
      "schedule" : { "ref" : "ResourcePeriod" },
      "dataFormat" : { "ref" : "DataFormat.1" }
    },
    {
      "id" : "DynamoDBDataNode.2",
      "name" : "DynamoDBDataNode.2",
      "type" : "DynamoDBDataNode",
      "tableName" : "restore_table",
      "region" : "us_west_1",
      "schedule" : { "ref" : "ResourcePeriod" },
      "dataFormat" : { "ref" : "DataFormat.2" }
    },
    {
      "id" : "EmrCluster.1",
      "name" : "EmrCluster.1",
      "type" : "EmrCluster",
      "schedule" : { "ref" : "ResourcePeriod" },
      "masterInstanceType" : "m1.xlarge",
      "coreInstanceCount" : "4"
    },
    {
      "id" : "HiveTransform.1",
      "name" : "Hive Copy Transform.1",
      "type" : "HiveCopyActivity",
      "input" : { "ref" : "DynamoDBDataNode.1" },
      "output" : { "ref" : "DynamoDBDataNode.2" },
      "schedule" :{ "ref" : "ResourcePeriod" },
      "runsOn" : { "ref" : "EmrCluster.1" },
      "filterSql" : "`timeStamp` > unix_timestamp(\"#{@scheduledStartTime}\", \"yyyy-MM-dd'T'HH:mm:ss\")"
    },
    {
      "id" : "ResourcePeriod",
      "name" : "ResourcePeriod",
      "type" : "Schedule",
      "period" : "1 Hour",
      "startDateTime" : "2013-06-04T00:00:00",
      "endDateTime" : "2013-06-04T01:00:00"
    }
  ]
}
```

## 構文
<a name="hivecopyactivity-syntax"></a>


****  

| オブジェクト呼び出しフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| スケジュール | このオブジェクトは、スケジュール期間の実行中に呼び出されます。ユーザーは、このオブジェクトの依存関係の実行順序を設定するには、別のオブジェクトへのスケジュール参照を指定する必要があります。ユーザーは、オブジェクトでスケジュールを明示的に設定して、この要件を満たすことができます。たとえば、"schedule": \$1"ref": "DefaultSchedule"\$1 と指定します。ほとんどの場合、すべてのオブジェクトがそのスケジュールを継承するように、スケジュール参照をデフォルトのパイプラインオブジェクトに配置することをお勧めします。または、パイプラインにスケジュールのツリー (マスタースケジュール内のスケジュール) がある場合、ユーザーは、スケジュール参照がある親オブジェクトを作成することができます。オプションのスケジュール設定の例については、「[https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html)」を参照してください。 | 参照オブジェクト ("schedule":\$1"ref":"myScheduleId"\$1 など) | 

 


****  

| 必須のグループ (次のいずれかが必要です) | 説明 | スロットタイプ | 
| --- | --- | --- | 
| runsOn | 実行するクラスターを指定します。 | 参照オブジェクト ("runsOn":\$1"ref":"myResourceId"\$1 など) | 
| workerGroup | ワーカーグループ。これはルーティングタスクに使用されます。値 runsOn を指定して、workerGroup がある場合、workerGroup は無視されます。 | String | 

 


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| attemptStatus | リモートアクティビティから最も最近報告されたステータス。 | String | 
| attemptTimeout | リモートの作業完了のタイムアウト。設定された場合、設定された開始時間内に完了しなかったリモートアクティビティを再試行することができます。 | Period | 
| dependsOn | 実行可能な別のオブジェクトで依存関係を指定します。 | 参照オブジェクト ("dependsOn":\$1"ref":"myActivityId"\$1 など) | 
| failureAndRerunMode | 依存関係が失敗または再実行されたときのコンシューマーノードの動作を示します。 | 一覧表 | 
| filterSql | コピーする DynamoDB または Amazon S3 データのサブセットをフィルタリングする Hive SQL ステートメントの断片。によって自動的に AWS Data Pipeline 追加されるため、フィルターには述語のみが含まれ、 WHERE句で始まることはできません。 | String | 
| input | 入力データソース。S3DataNode または DynamoDBDataNode を指定する必要があります。DynamoDBNode を使用する場合は、DynamoDBExportDataFormat を指定します。 | 参照オブジェクト ("input":\$1"ref":"myDataNodeId"\$1 など) | 
| lateAfterTimeout | オブジェクトが完了しなければならない、パイプライン開始からの経過時間。スケジュールタイプが ondemand に設定されていない場合にのみトリガーされます。 | Period | 
| maxActiveInstances | コンポーネントで同時にアクティブになるインスタンスの最大数。再実行はアクティブなインスタンスの数にはカウントされません。 | 整数 | 
| maximumRetries | 失敗時の最大再試行回数。 | 整数 | 
| onFail | 現在のオブジェクトが失敗したときに実行するアクション。 | 参照オブジェクト (onFail:\$1"ref":"myActionId"\$1 など) | 
| onLateAction | オブジェクトが予定されていないか、まだ完了していない場合にトリガーされるアクション。 | 参照オブジェクト ("onLateAction":\$1"ref":"myActionId"\$1 など) | 
| onSuccess | 現在のオブジェクトが成功したときに実行するアクション。 | 参照オブジェクト ("onSuccess":\$1"ref":"myActionId"\$1 など) | 
| output | 出力データソース。入力が S3DataNode の場合、これは DynamoDBDataNode を指定する必要があります。それ以外の場合は、S3DataNode または DynamoDBDataNode を指定できます。DynamoDBNode を使用する場合は、DynamoDBExportDataFormat を指定します。 | 参照オブジェクト ("output":\$1"ref":"myDataNodeId"\$1 など) | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト ("parent":\$1"ref":"myBaseObjectId"\$1 など) | 
| pipelineLogUri | パイプラインのログをアップロードするための Amazon S3 URI ( 's3://BucketName/Key/' など)。 | String | 
| postActivityTaskConfig | 実行するポストアクティビティ設定スクリプト。Amazon S3 のシェルスクリプトの URI と引数のリストで構成されます。 | 参照オブジェクト ("postActivityTaskConfig":\$1"ref":"myShellScriptConfigId"\$1 など) | 
| preActivityTaskConfig | 実行するプリアクティビティ設定スクリプト。Amazon S3 のシェルスクリプトの URI と引数のリストで構成されます。 | 参照オブジェクト ("preActivityTaskConfig":\$1"ref":"myShellScriptConfigId"\$1 など) | 
| precondition | オプションで前提条件を定義します。すべての前提条件を満たすまで、データノードは "READY" とマークされません。 | 参照オブジェクト ("precondition":\$1"ref":"myPreconditionId"\$1 など) | 
| reportProgressTimeout | reportProgress へのリモート作業の連続した呼び出しのタイムアウト。設定された場合、指定された期間の進捗状況を報告しないリモートアクティビティは停止されたと見なし、再試行できます。 | Period | 
| resizeClusterBeforeRunning | 入力または出力として指定された DynamoDB データノードに対応するため、このアクティビティを実行する前にクラスターのサイズを変更します。 アクティビティで を入力データノードまたは出力データノード`DynamoDBDataNode`として使用し、 `resizeClusterBeforeRunning`を に設定すると`TRUE`、 は`m3.xlarge`インスタンスタイプを使用して AWS Data Pipeline 開始します。これによりインスタンスタイプの選択が `m3.xlarge` に上書きされるため、月別コストが増加することがあります。  | ブール値 | 
| resizeClusterMaxInstances | サイズ変更アルゴリズムによってリクエストできるインスタンスの最大数の制限 | 整数 | 
| retryDelay | 2 回の再試行の間のタイムアウト期間。 | Period | 
| scheduleType | スケジュールタイプによって、パイプライン定義のオブジェクトを、期間の最初にスケジュールするか、最後にスケジュールするかを指定できます。[Time Series Style Scheduling] は、インスタンスが各間隔の最後にスケジュールされることを意味し、[Cron Style Scheduling] は、インスタンスが各間隔の最初にスケジュールされることを意味します。オンデマンドスケジュールにより、アクティベーションごとに 1 回パイプラインを実行することができます。つまり、パイプラインを再実行するために、クローンしたり再作成したりする必要はありません。オンデマンドスケジュールを使用する場合は、デフォルトオブジェクトで指定し、パイプラインのオブジェクトに対して指定される唯一の scheduleType である必要があります。オンデマンドパイプラインを使用するには、それ以降の実行ごとに、ActivatePipeline オペレーションを呼び出すだけです。値は、cron、ondemand、および timeseries です。 | 一覧表 | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @activeInstances | 現在スケジュールされているアクティブなインスタンスオブジェクトのリスト。 | 参照オブジェクト ("activeInstances":\$1"ref":"myRunnableObjectId"\$1 など) | 
| @actualEndTime | このオブジェクトの実行が終了した時刻。 | DateTime | 
| @actualStartTime | このオブジェクトの実行が開始された時刻。 | DateTime | 
| cancellationReason | このオブジェクトがキャンセルされた場合の cancellationReason。 | String | 
| @cascadeFailedOn | オブジェクトが失敗した際の依存関係チェーンの説明。 | 参照オブジェクト ("cascadeFailedOn":\$1"ref":"myRunnableObjectId"\$1 など) | 
| emrStepLog | EMR アクティビティの試行でのみ使用可能な Amazon EMR ステップログ。 | String | 
| errorId | このオブジェクトが失敗した場合は errorId。 | String | 
| errorMessage | このオブジェクトが失敗した場合は errorMessage。 | String | 
| errorStackTrace | このオブジェクトが失敗した場合は、エラースタックトレース。 | String | 
| @finishedTime | このオブジェクトが実行を終了した時刻。 | DateTime | 
| hadoopJobLog | EMR ベースのアクティビティで試みることができる Hadoop ジョブのログ。 | String | 
| @healthStatus | 終了状態に達した最後のオブジェクトインスタンスの成功または失敗を反映する、オブジェクトのヘルスステータス。 | String | 
| @healthStatusFromInstanceId | 終了状態に達した最後のインスタンスオブジェクトの ID。 | String | 
| @healthStatusUpdatedTime | ヘルス状態が最後に更新された時間。 | DateTime | 
| hostname | タスクの試行を取得したクライアントのホスト名。 | String | 
| @lastDeactivatedTime | このオブジェクトが最後に非アクティブ化された時刻。 | DateTime | 
| @latestCompletedRunTime | 実行が完了した最後の実行の時刻。 | DateTime | 
| @latestRunTime | 実行がスケジュールされた最後の実行の時刻。 | DateTime | 
| @nextRunTime | 次回にスケジュールされた実行の時刻。 | DateTime | 
| reportProgressTime | リモートアクティビティで進捗状況が報告された最新の時刻。 | DateTime | 
| @scheduledEndTime | オブジェクトの予定された終了時刻。 | DateTime | 
| @scheduledStartTime | オブジェクトの予定された開始時刻。 | DateTime | 
| @status | このオブジェクトのステータス。 | String | 
| @version | オブジェクトが作成されたパイプラインのバージョン。 | String | 
| @waitingOn | このオブジェクトが待機している依存関係のリストの説明。 | 参照オブジェクト ("waitingOn":\$1"ref":"myRunnableObjectId"\$1 など) | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー。 | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID。 | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します。 | String | 

## 以下の資料も参照してください。
<a name="hivecopyactivity-seealso"></a>
+ [ShellCommandActivity](dp-object-shellcommandactivity.md)
+ [EmrActivity](dp-object-emractivity.md)

# PigActivity
<a name="dp-object-pigactivity"></a>

PigActivity は、 `ShellCommandActivity` または を使用する AWS Data Pipeline ことなく、 で Pig スクリプトをネイティブにサポートします`EmrActivity`。さらに、PigActivity はステージングもサポートします。stage フィールドが true に設定されていると、 AWS Data Pipeline は Pig のスキーマとして入力データをステージングします（ユーザーがコードを追加する必要はありません）。

## 例
<a name="pigactivity-example"></a>

次のパイプライン例は `PigActivity` の使い方を示します。パイプライン例では、以下のステップを実行します。
+ MyPigActivity1 は、Amazon S3 からデータをロードし、データ列をいくつか選択する Pig スクリプトを実行して、Amazon S3 にアップロードします。
+ MyPigActivity2 は、最初の出力をロードし、データのいくつかの列と 3 行を選択して、2 番目の出力として Amazon S3 にアップロードします。
+ MyPigActivity3 は、2 番目の出力データをロードし、Amazon RDS にデータを 2 行と "fifth" という名前の列のみを挿入します。
+ MyPigActivity4 は、Amazon RDS データをロードし、データの最初の行を選択して、それを Amazon S3 にアップロードします。

```
{
  "objects": [
    {
      "id": "MyInputData1",
      "schedule": {
        "ref": "MyEmrResourcePeriod"
      },
      "directoryPath": "s3://amzn-s3-demo-bucket/pigTestInput",
      "name": "MyInputData1",
      "dataFormat": {
        "ref": "MyInputDataType1"
      },
      "type": "S3DataNode"
    },
    {
      "id": "MyPigActivity4",
      "scheduleType": "CRON",
      "schedule": {
        "ref": "MyEmrResourcePeriod"
      },
      "input": {
        "ref": "MyOutputData3"
      },
      "pipelineLogUri": "s3://amzn-s3-demo-bucket/path/",
      "name": "MyPigActivity4",
      "runsOn": {
        "ref": "MyEmrResource"
      },
      "type": "PigActivity",
      "dependsOn": {
        "ref": "MyPigActivity3"
      },
      "output": {
        "ref": "MyOutputData4"
      },
      "script": "B = LIMIT ${input1} 1; ${output1} = FOREACH B GENERATE one;",
      "stage": "true"
    },
    {
      "id": "MyPigActivity3",
      "scheduleType": "CRON",
      "schedule": {
        "ref": "MyEmrResourcePeriod"
      },
      "input": {
        "ref": "MyOutputData2"
      },
      "pipelineLogUri": "s3://amzn-s3-demo-bucket/path",
      "name": "MyPigActivity3",
      "runsOn": {
        "ref": "MyEmrResource"
      },
      "script": "B = LIMIT ${input1} 2; ${output1} = FOREACH B GENERATE Fifth;",
      "type": "PigActivity",
      "dependsOn": {
        "ref": "MyPigActivity2"
      },
      "output": {
        "ref": "MyOutputData3"
      },
      "stage": "true"
    },
    {
      "id": "MyOutputData2",
      "schedule": {
        "ref": "MyEmrResourcePeriod"
      },
      "name": "MyOutputData2",
      "directoryPath": "s3://amzn-s3-demo-bucket/PigActivityOutput2",
      "dataFormat": {
        "ref": "MyOutputDataType2"
      },
      "type": "S3DataNode"
    },
    {
      "id": "MyOutputData1",
      "schedule": {
        "ref": "MyEmrResourcePeriod"
      },
      "name": "MyOutputData1",
      "directoryPath": "s3://amzn-s3-demo-bucket/PigActivityOutput1",
      "dataFormat": {
        "ref": "MyOutputDataType1"
      },
      "type": "S3DataNode"
    },
    {
      "id": "MyInputDataType1",
      "name": "MyInputDataType1",
      "column": [
        "First STRING",
        "Second STRING",
        "Third STRING",
        "Fourth STRING",
        "Fifth STRING",
        "Sixth STRING",
        "Seventh STRING",
        "Eighth STRING",
        "Ninth STRING",
        "Tenth STRING"
      ],
      "inputRegEx": "^(\\\\S+) (\\\\S+) (\\\\S+) (\\\\S+) (\\\\S+) (\\\\S+) (\\\\S+) (\\\\S+) (\\\\S+) (\\\\S+)",
      "type": "RegEx"
    },
    {
      "id": "MyEmrResource",
      "region": "us-east-1",
      "schedule": {
        "ref": "MyEmrResourcePeriod"
      },
      "keyPair": "example-keypair",
      "masterInstanceType": "m1.small",
      "enableDebugging": "true",
      "name": "MyEmrResource",
      "actionOnTaskFailure": "continue",
      "type": "EmrCluster"
    },
    {
      "id": "MyOutputDataType4",
      "name": "MyOutputDataType4",
      "column": "one STRING",
      "type": "CSV"
    },
    {
      "id": "MyOutputData4",
      "schedule": {
        "ref": "MyEmrResourcePeriod"
      },
      "directoryPath": "s3://amzn-s3-demo-bucket/PigActivityOutput3",
      "name": "MyOutputData4",
      "dataFormat": {
        "ref": "MyOutputDataType4"
      },
      "type": "S3DataNode"
    },
    {
      "id": "MyOutputDataType1",
      "name": "MyOutputDataType1",
      "column": [
        "First STRING",
        "Second STRING",
        "Third STRING",
        "Fourth STRING",
        "Fifth STRING",
        "Sixth STRING",
        "Seventh STRING",
        "Eighth STRING"
      ],
      "columnSeparator": "*",
      "type": "Custom"
    },
    {
      "id": "MyOutputData3",
      "username": "___",
      "schedule": {
        "ref": "MyEmrResourcePeriod"
      },
      "insertQuery": "insert into #{table} (one) values (?)",
      "name": "MyOutputData3",
      "*password": "___",
      "runsOn": {
        "ref": "MyEmrResource"
      },
      "connectionString": "jdbc:mysql://example-database-instance:3306/example-database",
      "selectQuery": "select * from #{table}",
      "table": "example-table-name",
      "type": "MySqlDataNode"
    },
    {
      "id": "MyOutputDataType2",
      "name": "MyOutputDataType2",
      "column": [
        "Third STRING",
        "Fourth STRING",
        "Fifth STRING",
        "Sixth STRING",
        "Seventh STRING",
        "Eighth STRING"
      ],
      "type": "TSV"
    },
    {
      "id": "MyPigActivity2",
      "scheduleType": "CRON",
      "schedule": {
        "ref": "MyEmrResourcePeriod"
      },
      "input": {
        "ref": "MyOutputData1"
      },
      "pipelineLogUri": "s3://amzn-s3-demo-bucket/path",
      "name": "MyPigActivity2",
      "runsOn": {
        "ref": "MyEmrResource"
      },
      "dependsOn": {
        "ref": "MyPigActivity1"
      },
      "type": "PigActivity",
      "script": "B = LIMIT ${input1} 3; ${output1} = FOREACH B GENERATE Third, Fourth, Fifth, Sixth, Seventh, Eighth;",
      "output": {
        "ref": "MyOutputData2"
      },
      "stage": "true"
    },
    {
      "id": "MyEmrResourcePeriod",
      "startDateTime": "2013-05-20T00:00:00",
      "name": "MyEmrResourcePeriod",
      "period": "1 day",
      "type": "Schedule",
      "endDateTime": "2013-05-21T00:00:00"
    },
    {
      "id": "MyPigActivity1",
      "scheduleType": "CRON",
      "schedule": {
        "ref": "MyEmrResourcePeriod"
      },
      "input": {
        "ref": "MyInputData1"
      },
      "pipelineLogUri": "s3://amzn-s3-demo-bucket/path",
      "scriptUri": "s3://amzn-s3-demo-bucket/script/pigTestScipt.q",
      "name": "MyPigActivity1",
      "runsOn": {
        "ref": "MyEmrResource"
      },
      "scriptVariable": [
        "column1=First",
        "column2=Second",
        "three=3"
      ],
      "type": "PigActivity",
      "output": {
        "ref": "MyOutputData1"
      },
      "stage": "true"
    }
  ]
}
```

`pigTestScript.q` の内容は次のとおりです。

```
B = LIMIT ${input1} $three; ${output1} = FOREACH B GENERATE $column1, $column2, Third, Fourth, Fifth, Sixth, Seventh, Eighth;
```

## 構文
<a name="pigactivity-syntax"></a>


****  

| オブジェクト呼び出しフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| スケジュール | このオブジェクトは、スケジュール期間の実行中に呼び出されます。ユーザーは、このオブジェクトの依存関係の実行順序を設定するには、別のオブジェクトへのスケジュール参照を指定する必要があります。ユーザーは、オブジェクトでスケジュールを明示的に設定して、この要件を満たすことができます。たとえば、"schedule": \$1"ref": "DefaultSchedule"\$1 と指定します。ほとんどの場合、すべてのオブジェクトがそのスケジュールを継承するように、スケジュール参照をデフォルトのパイプラインオブジェクトに配置することをお勧めします。または、パイプラインにスケジュールのツリー (マスタースケジュール内のスケジュール) がある場合、ユーザーは、スケジュール参照がある親オブジェクトを作成することができます。オプションのスケジュール設定の例については、「[https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html)」を参照してください。 | 参照オブジェクト ("schedule":\$1"ref":"myScheduleId"\$1 など) | 

 


****  

| 必須のグループ (次のいずれかが必要です) | 説明 | スロットタイプ | 
| --- | --- | --- | 
| スクリプト | 実行する Pig スクリプト。 | String | 
| scriptUri | 実行される Pig スクリプトの場所 (たとえば、s3: //scriptLocation)。 | String | 

 


****  

| 必須のグループ (次のいずれかが必要です) | 説明 | スロットタイプ | 
| --- | --- | --- | 
| runsOn | この PigActivity が実行される EMR クラスター。 | 参照オブジェクト ("​runsOn":\$1"ref":"myEmrClusterId"\$1 など) | 
| workerGroup | ワーカーグループ。これはルーティングタスクに使用されます。値 runsOn を指定して、workerGroup がある場合、workerGroup は無視されます。 | String | 

 


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| attemptStatus | リモートアクティビティから最も最近報告されたステータス。 | String | 
| attemptTimeout | リモートの作業完了のタイムアウト。設定された場合、設定された開始時間内に完了しなかったリモートアクティビティを再試行することができます。 | Period | 
| dependsOn | 実行可能な別のオブジェクトで依存関係を指定します。 | 参照オブジェクト ("dependsOn":\$1"ref":"myActivityId"\$1 など) | 
| failureAndRerunMode | 依存関係が失敗または再実行されたときのコンシューマーノードの動作を示します。 | 一覧表 | 
| input | 入力データソース。 | 参照オブジェクト ("input":\$1"ref":"myDataNodeId"\$1 など) | 
| lateAfterTimeout | オブジェクトが完了しなければならない、パイプライン開始からの経過時間。スケジュールタイプが ondemand に設定されていない場合にのみトリガーされます。 | Period | 
| maxActiveInstances | コンポーネントで同時にアクティブになるインスタンスの最大数。再実行はアクティブなインスタンスの数にはカウントされません。 | 整数 | 
| maximumRetries | 失敗時の最大再試行回数。 | 整数 | 
| onFail | 現在のオブジェクトが失敗したときに実行するアクション。 | 参照オブジェクト ("onFail":\$1"ref":"myActionId"\$1 など) | 
| onLateAction | オブジェクトが予定されていないか、まだ完了していない場合にトリガーされるアクション。 | 参照オブジェクト ("onLateAction":\$1"ref":"myActionId"\$1 など) | 
| onSuccess | 現在のオブジェクトが成功したときに実行するアクション。 | 参照オブジェクト ("onSuccess":\$1"ref":"myActionId"\$1 など) | 
| output | 出力データソース。 | 参照オブジェクト ("output":\$1"ref":"myDataNodeId"\$1 など) | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト ("parent":\$1"ref":"myBaseObjectId"\$1 など) | 
| pipelineLogUri | パイプラインのログをアップロードするための Amazon S3 URI (s3://BucketName/Key/ など)。 | String | 
| postActivityTaskConfig | 実行するポストアクティビティ設定スクリプト。Amazon S33 のシェルスクリプトの URI と引数のリストで構成されます。 | 参照オブジェクト ("postActivityTaskConfig":\$1"ref":"myShellScriptConfigId"\$1 など) | 
| preActivityTaskConfig | 実行するプリアクティビティ設定スクリプト。Amazon S3 のシェルスクリプトの URI と引数のリストで構成されます。 | 参照オブジェクト ("preActivityTaskConfig":\$1"ref":"myShellScriptConfigId"\$1 など) | 
| precondition | オプションで前提条件を定義します。すべての前提条件を満たすまで、データノードは "READY" とマークされません。 | 参照オブジェクト ("precondition":\$1"ref":"myPreconditionId"\$1 など) | 
| reportProgressTimeout | reportProgress へのリモート作業の連続した呼び出しのタイムアウト。設定された場合、指定された期間の進捗状況を報告しないリモートアクティビティは停止されたと見なし、再試行できます。 | Period | 
| resizeClusterBeforeRunning | 入力または出力として指定された DynamoDB データノードに対応するため、このアクティビティを実行する前にクラスターのサイズを変更します。 アクティビティで を入力データノードまたは出力データノード`DynamoDBDataNode`として使用し、 `resizeClusterBeforeRunning`を に設定すると`TRUE`、 は`m3.xlarge`インスタンスタイプを使用して AWS Data Pipeline 開始します。これによりインスタンスタイプの選択が `m3.xlarge` に上書きされるため、月別コストが増加することがあります。  | ブール値 | 
| resizeClusterMaxInstances | サイズ変更アルゴリズムによってリクエストできるインスタンスの最大数の制限。 | 整数 | 
| retryDelay | 2 回の再試行の間のタイムアウト期間。 | Period | 
| scheduleType | スケジュールタイプによって、パイプライン定義のオブジェクトを、期間の最初にスケジュールするか、最後にスケジュールするかを指定できます。[Time Series Style Scheduling] は、インスタンスが各間隔の最後にスケジュールされることを意味し、[Cron Style Scheduling] は、インスタンスが各間隔の最初にスケジュールされることを意味します。オンデマンドスケジュールにより、アクティベーションごとに 1 回パイプラインを実行することができます。つまり、パイプラインを再実行するために、クローンしたり再作成したりする必要はありません。オンデマンドスケジュールを使用する場合は、デフォルトオブジェクトで指定し、パイプラインのオブジェクトに対して指定される唯一の scheduleType である必要があります。オンデマンドパイプラインを使用するには、それ以降の実行ごとに、ActivatePipeline オペレーションを呼び出すだけです。値は、cron、ondemand、および timeseries です。 | 一覧表 | 
| scriptVariable | Pig スクリプトに渡す引数。スクリプトまたは scriptUri で scriptVariable を使用できます。 | String | 
| ステージ | ステージングが有効かどうか決定し、ステージングされたデータのテーブル (\$1INPUT1\$1 や \$1OUTPUT1\$1 など) に Pig スクリプトがアクセスできるようにします。 | ブール値 | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @activeInstances | 現在スケジュールされているアクティブなインスタンスオブジェクトのリスト。 | 参照オブジェクト ("activeInstances":\$1"ref":"myRunnableObjectId"\$1 など) | 
| @actualEndTime | このオブジェクトの実行が終了した時刻。 | DateTime | 
| @actualStartTime | このオブジェクトの実行が開始された時刻。 | DateTime | 
| cancellationReason | このオブジェクトがキャンセルされた場合の cancellationReason。 | String | 
| @cascadeFailedOn | オブジェクトが失敗した際の依存関係チェーンの説明。 | 参照オブジェクト ("cascadeFailedOn":\$1"ref":"myRunnableObjectId"\$1 など) | 
| emrStepLog | EMR アクティビティの試行でのみ使用可能な Amazon EMR ステップログ。 | String | 
| errorId | このオブジェクトが失敗した場合は errorId。 | String | 
| errorMessage | このオブジェクトが失敗した場合は errorMessage。 | String | 
| errorStackTrace | このオブジェクトが失敗した場合は、エラースタックトレース。 | String | 
| @finishedTime | このオブジェクトが実行を終了した時刻。 | DateTime | 
| hadoopJobLog | EMR ベースのアクティビティで試みることができる Hadoop ジョブのログ。 | String | 
| @healthStatus | 終了状態に達した最後のオブジェクトインスタンスの成功または失敗を反映する、オブジェクトのヘルスステータス。 | String | 
| @healthStatusFromInstanceId | 終了状態に達した最後のインスタンスオブジェクトの ID。 | String | 
| @healthStatusUpdatedTime | ヘルス状態が最後に更新された時間。 | DateTime | 
| hostname | タスクの試行を取得したクライアントのホスト名。 | String | 
| @lastDeactivatedTime | このオブジェクトが最後に非アクティブ化された時刻。 | DateTime | 
| @latestCompletedRunTime | 実行が完了した最後の実行の時刻。 | DateTime | 
| @latestRunTime | 実行がスケジュールされた最後の実行の時刻。 | DateTime | 
| @nextRunTime | 次回にスケジュールされた実行の時刻。 | DateTime | 
| reportProgressTime | リモートアクティビティで進捗状況が報告された最新の時刻。 | DateTime | 
| @scheduledEndTime | オブジェクトの予定された終了時刻。 | DateTime | 
| @scheduledStartTime | オブジェクトの予定された開始時刻。 | DateTime | 
| @status | このオブジェクトのステータス。 | String | 
| @version | オブジェクトを作成したパイプラインのバージョン。 | String | 
| @waitingOn | このオブジェクトが待機している依存関係のリストの説明。 | 参照オブジェクト ("waitingOn":\$1"ref":"myRunnableObjectId"\$1 など) | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー。 | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID。 | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します。 | String | 

## 以下の資料も参照してください。
<a name="pigactivity-seealso"></a>
+ [ShellCommandActivity](dp-object-shellcommandactivity.md)
+ [EmrActivity](dp-object-emractivity.md)

# RedshiftCopyActivity
<a name="dp-object-redshiftcopyactivity"></a>

DynamoDB または Amazon S3 から Amazon Redshift にデータをコピーします。新しいテーブルにデータをロードすることも、既存のテーブルにデータを簡単にマージすることもできます。

以下に、`RedshiftCopyActivity` を使用するユースケースの概要を示します。

1. まず AWS Data Pipeline 、 を使用して Amazon S3 でデータをステージングします。

1. `RedshiftCopyActivity` を使用して、Amazon RDS および Amazon EMR から Amazon Redshift にデータを移動します。

   これにより、Amazon Redshift にデータをロードして分析を行うことができます。

1. [SqlActivity](dp-object-sqlactivity.md) を使用して、Amazon Redshift にロードしたデータに対する SQL クエリを実行します。

 さらに、`RedshiftCopyActivity` はマニフェストファイルをサポートするため、`S3DataNode` を操作できます。詳細については、「[S3DataNode](dp-object-s3datanode.md)」を参照してください。

## 例
<a name="redshiftcopyactivity-example"></a>

以下は、このオブジェクト型の例です。

この例では、変換形式を確認するために [EMPTYASNULL](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-conversion.html#copy-emptyasnull) および [IGNOREBLANKLINES](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-conversion.html#copy-ignoreblanklines) 特殊変換パラメータを `commandOptions` で使用します。詳細については、[Amazon Redshift データベース開発者ガイド](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-conversion.html)の*データ変換パラメータ*を参照してください。

```
{
  "id" : "S3ToRedshiftCopyActivity",
  "type" : "RedshiftCopyActivity",
  "input" : { "ref": "MyS3DataNode" },
  "output" : { "ref": "MyRedshiftDataNode" },
  "insertMode" : "KEEP_EXISTING",
  "schedule" : { "ref": "Hour" },
  "runsOn" : { "ref": "MyEc2Resource" },
  "commandOptions": ["EMPTYASNULL", "IGNOREBLANKLINES"]
}
```

以下のパイプライン定義の例では、`APPEND` 挿入モードを使用するアクティビティを示しています。

```
{
  "objects": [
    {
      "id": "CSVId1",
      "name": "DefaultCSV1",
      "type": "CSV"
    },
    {
      "id": "RedshiftDatabaseId1",
      "databaseName": "dbname",
      "username": "user",
      "name": "DefaultRedshiftDatabase1",
      "*password": "password",
      "type": "RedshiftDatabase",
      "clusterId": "redshiftclusterId"
    },
    {
      "id": "Default",
      "scheduleType": "timeseries",
      "failureAndRerunMode": "CASCADE",
      "name": "Default",
      "role": "DataPipelineDefaultRole",
      "resourceRole": "DataPipelineDefaultResourceRole"
    },
    {
      "id": "RedshiftDataNodeId1",
      "schedule": {
        "ref": "ScheduleId1"
      },
      "tableName": "orders",
      "name": "DefaultRedshiftDataNode1",
      "createTableSql": "create table StructuredLogs (requestBeginTime CHAR(30) PRIMARY KEY DISTKEY SORTKEY, requestEndTime CHAR(30), hostname CHAR(100), requestDate varchar(20));",
      "type": "RedshiftDataNode",
      "database": {
        "ref": "RedshiftDatabaseId1"
      }
    },
    {
      "id": "Ec2ResourceId1",
      "schedule": {
        "ref": "ScheduleId1"
      },
      "securityGroups": "MySecurityGroup",
      "name": "DefaultEc2Resource1",
      "role": "DataPipelineDefaultRole",
      "logUri": "s3://myLogs",
      "resourceRole": "DataPipelineDefaultResourceRole",
      "type": "Ec2Resource"
    },
    {
      "id": "ScheduleId1",
      "startDateTime": "yyyy-mm-ddT00:00:00",
      "name": "DefaultSchedule1",
      "type": "Schedule",
      "period": "period",
      "endDateTime": "yyyy-mm-ddT00:00:00"
    },
    {
      "id": "S3DataNodeId1",
      "schedule": {
        "ref": "ScheduleId1"
      },
      "filePath": "s3://datapipeline-us-east-1/samples/hive-ads-samples.csv",
      "name": "DefaultS3DataNode1",
      "dataFormat": {
        "ref": "CSVId1"
      },
      "type": "S3DataNode"
    },
    {
      "id": "RedshiftCopyActivityId1",
      "input": {
        "ref": "S3DataNodeId1"
      },
      "schedule": {
        "ref": "ScheduleId1"
      },
      "insertMode": "APPEND",
      "name": "DefaultRedshiftCopyActivity1",
      "runsOn": {
        "ref": "Ec2ResourceId1"
      },
      "type": "RedshiftCopyActivity",
      "output": {
        "ref": "RedshiftDataNodeId1"
      }
    }
  ]
}
```

`APPEND` オペレーションは、プライマリキーまたはソートキーにかかわらず、テーブルに項目を追加します。たとえば、以下のテーブルがあるとすると、同じ ID とユーザー値のレコードを追加できます。

```
ID(PK)     USER
1          aaa
2          bbb
```

以下のように、同じ ID とユーザー値のレコードを追加できます。

```
ID(PK)     USER
1          aaa
2          bbb
1          aaa
```

**注記**  
`APPEND` オペレーションが中断されて再試行される場合、結果として再実行されるパイプラインは、最初から追加される可能性があります。これにより、重複するレコードが追加される可能性があるため、行数をカウントするロジックがある場合は、この動作に注意する必要があります。

チュートリアルについては、「[を使用して Amazon Redshift にデータをコピーする AWS Data Pipeline](dp-copydata-redshift.md)」を参照してください。

## 構文
<a name="redshiftcopyactivity-syntax"></a>


****  

| 必須フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| insertMode |   ロードするデータの行と重複するターゲットテーブル内の既存のデータの AWS Data Pipeline 処理を決定します。 有効な値は、`KEEP_EXISTING`、`OVERWRITE_EXISTING`、`TRUNCATE`、`APPEND` です。 `KEEP_EXISTING` を指定すると、既存の行を変更することなく、新しい行がテーブルに追加されます。 `KEEP_EXISTING` および` OVERWRITE_EXISTING` はプライマリキー、ソート、およびディストリビューションキーを使用して、既存の行と一致する受信行を識別します。Amazon Redshift *データベース開発者ガイド*の[新しいデータの更新と挿入](https://docs.aws.amazon.com/redshift/latest/dg/t_updating-inserting-using-staging-tables-.html)を参照してください。 `TRUNCATE` は、ターゲットテーブルのデータをすべて削除した後、新しいデータを書き込みます。  `APPEND` は Redshift テーブルの末尾にすべてのレコードを追加します。`APPEND` にはプライマリキーも、分散キーも、ソートキーも不要なため、重複する項目が追加される可能性があります。  | 一覧表 | 

 


****  

| オブジェクト呼び出しフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| スケジュール |  このオブジェクトは、スケジュール期間の実行中に呼び出されます。 このオブジェクトの依存関係の実行順序を設定するために、別のオブジェクトへのスケジュール参照を指定します。 ほとんどの場合、すべてのオブジェクトがそのスケジュールを継承するように、スケジュール参照をデフォルトのパイプラインオブジェクトに配置することをお勧めします。たとえば、`"schedule": {"ref": "DefaultSchedule"}` を指定することで、オブジェクトでスケジュールを明示的に設定できます。 パイプラインのマスタースケジュールにネストされたスケジュールがある場合、スケジュール参照がある親オブジェクトを作成します。 オプションのスケジュール設定の例については、「[スケジュール](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html)」を参照してください。  | 参照オブジェクト ( "schedule":\$1"ref":"myScheduleId"\$1 など) | 

 


****  

| 必須のグループ (次のいずれかが必要です) | 説明 | スロットタイプ | 
| --- | --- | --- | 
| runsOn | アクティビティまたはコマンドを実行するコンピューティングリソース。たとえば、Amazon EC2 インスタンスまたは Amazon EMR クラスター。 | 参照オブジェクト ("runsOn":\$1"ref":"myResourceId"\$1 など) | 
| workerGroup | ワーカーグループ。これはルーティングタスクに使用されます。runsOn 値を指定して、workerGroup がある場合、workerGroup は無視されます。 | String | 

 


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| attemptStatus | リモートアクティビティから最も最近報告されたステータス。 | String | 
| attemptTimeout | リモートの作業完了のタイムアウト。設定された場合、設定された開始時間内に完了しなかったリモートアクティビティを再試行することができます。 | Period | 
| commandOptions |  `COPY` オペレーションの実行時に Amazon Redshift データノードに渡すパラメータを受け取ります。パラメータの詳細については、Amazon Redshift *データベース開発者ガイド*の [COPY](https://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html) を参照してください。 テーブルをロードする際に、`COPY` は暗黙的に文字列をターゲット列のデータ型に変換しようとします。自動的に発生するデフォルトのデータ変換に加えて、エラーが表示される場合や他の変換を必要とする場合は、追加の変換パラメータを指定できます。詳細については、Amazon Redshift *データベース開発者ガイド*の[データ変換パラメータ](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-conversion.html)を参照してください。 入力データノードまたは出力データノードにデータ形式が関連付けられている場合、指定されたパラメータは無視されます。 コピーオペレーションがまず `COPY` を使用して、ステージングテーブルにデータを挿入してから、`INSERT` コマンドを使用して、ステージングテーブルからターゲットテーブルにデータをコピーするため、`COPY` の一部のパラメータは適用されません。たとえば、`COPY` コマンドでテーブルの自動圧縮を有効にするパラメーターは適用されません。圧縮が必要な場合は、`CREATE TABLE` ステートメントに列エンコードの詳細を追加します。 また、場合によっては、Amazon Redshift クラスターからデータをアンロードし、Amazon S3 でファイルを作成する必要があるときに、`RedshiftCopyActivity` は Amazon Redshift からの `UNLOAD` オペレーションに依存します。 コピーおよびアンロード中のパフォーマンスを向上させるには、`UNLOAD` コマンドで `PARALLEL OFF` パラメータを指定します。パラメータの詳細については、Amazon Redshift *データベース開発者ガイド*の [UNLOAD](https://docs.aws.amazon.com/redshift/latest/dg/r_UNLOAD.html) を参照してください。  | String | 
| dependsOn | 実行可能な別のオブジェクトで依存関係を指定します。 | 参照オブジェクト: "dependsOn":\$1"ref":"myActivityId"\$1 | 
| failureAndRerunMode | 依存関係が失敗または再実行されたときのコンシューマーノードの動作を示します。 | 一覧表 | 
| input | 入力データノード。データソースは、Amazon S3、DynamoDB、または Amazon Redshift を使用できます。 | 参照オブジェクト:  "input":\$1"ref":"myDataNodeId"\$1 | 
| lateAfterTimeout | オブジェクトが完了しなければならない、パイプライン開始からの経過時間。スケジュールタイプが ondemand に設定されていない場合にのみトリガーされます。 | Period | 
| maxActiveInstances | コンポーネントで同時にアクティブになるインスタンスの最大数。再実行はアクティブなインスタンスの数にはカウントされません。 | 整数 | 
| maximumRetries | 失敗時の最大再試行回数 | 整数 | 
| onFail | 現在のオブジェクトが失敗したときに実行するアクション。 | 参照オブジェクト: "onFail":\$1"ref":"myActionId"\$1 | 
| onLateAction | オブジェクトが予定されていないか、まだ完了していない場合にトリガーされるアクション。 | 参照オブジェクト:  "onLateAction":\$1"ref":"myActionId"\$1 | 
| onSuccess | 現在のオブジェクトが成功したときに実行するアクション。 | 参照オブジェクト:  "onSuccess":\$1"ref":"myActionId"\$1 | 
| output | 出力データノード。出力場所は、Amazon S3 または Amazon Redshift を使用できます。 | 参照オブジェクト:  "output":\$1"ref":"myDataNodeId"\$1 | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト: "parent":\$1"ref":"myBaseObjectId"\$1 | 
| pipelineLogUri | パイプラインのログをアップロードするための S3 URI (s3://BucketName/Key/ など)。 | String | 
| precondition | オプションで前提条件を定義します。すべての前提条件を満たすまで、データノードは "READY" とマークされません。 | 参照オブジェクト: "precondition":\$1"ref":"myPreconditionId"\$1 | 
| キュー |  同時発生した複数アクティビティの割り当てと優先順位付けをキュー内の位置に基づいて行うことができる、Amazon Redshift の `query_group ` 設定に相当します。 Amazon Redshift では、同時接続数が 15 に制限されています。詳細については、Amazon RDS *データベース開発者ガイド*の[キューへのクエリの割り当て](https://docs.aws.amazon.com/AmazonRDS/latest/DeveloperGuide/cm-c-executing-queries.html)を参照してください。  | String | 
| reportProgressTimeout |  `reportProgress` へのリモート作業の連続した呼び出しのタイムアウト。 設定された場合、指定された期間の進捗状況を報告しないリモートアクティビティは停止されたと見なし、再試行できます。  | Period | 
| retryDelay | 2 回の再試行の間のタイムアウト期間。 | Period | 
| scheduleType |  パイプライン内のオブジェクトのスケジュールを指定できます。値は、`cron`、`ondemand`、および `timeseries` です。 `timeseries` スケジューリングは、インスタンスが各間隔の最後にスケジュールされることを意味します。 `Cron` スケジューリングは、インスタンスが各間隔の最初にスケジュールされることを意味します。 `ondemand` スケジュールにより、アクティベーションごとに 1 回パイプラインを実行することができます。つまり、パイプラインを再実行するために、クローンしたり再作成したりする必要はありません。  `ondemand` パイプラインを使用するには、それ以降の実行ごとに、`ActivatePipeline` オペレーションを呼び出します。 `ondemand` スケジュールを使用する場合は、デフォルトオブジェクトで指定し、パイプラインのオブジェクトに対して指定される唯一の `scheduleType` である必要があります。  | 一覧表 | 
| transformSql |  入力データの変換に使用される `SQL SELECT` 式。 `transformSql` 式を `staging` という名前のテーブルで実行します。 DynamoDB または Amazon S3 からデータをコピーすると、 AWS Data Pipeline によって「staging」という名前のテーブルが作成され、データがあらかじめロードされます。このテーブルのデータは、ターゲットテーブルの更新に使用されます。 `transformSql` の出力スキーマは最終的なターゲットテーブルのスキーマと一致する必要があります。 `transformSql` オプションを指定した場合は、指定の SQL ステートメントから 2 番目のステージングテーブルが作成されます。この 2 番目のステージングテーブルからのデータが、最終的なターゲットテーブルで更新されます。  | String | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @activeInstances | 現在スケジュールされているアクティブなインスタンスオブジェクトのリスト。 | 参照オブジェクト: "activeInstances":\$1"ref":"myRunnableObjectId"\$1 | 
| @actualEndTime | このオブジェクトの実行が終了した時刻。 | DateTime | 
| @actualStartTime | このオブジェクトの実行が開始された時刻。 | DateTime | 
| cancellationReason | このオブジェクトがキャンセルされた場合の cancellationReason。 | String | 
| @cascadeFailedOn | オブジェクトが失敗した際の依存関係チェーンの説明。 | 参照オブジェクト:  "cascadeFailedOn":\$1"ref":"myRunnableObjectId"\$1 | 
| emrStepLog | EMR アクティビティの試行でのみ使用可能な EMR ステップログ | String | 
| errorId | このオブジェクトが失敗した場合は errorId。 | String | 
| errorMessage | このオブジェクトが失敗した場合は errorMessage。 | String | 
| errorStackTrace | このオブジェクトが失敗した場合は、エラースタックトレース。 | String | 
| @finishedTime | このオブジェクトが実行を終了した時刻。 | DateTime | 
| hadoopJobLog | EMR ベースのアクティビティで試みることができる Hadoop ジョブのログ。 | String | 
| @healthStatus | 終了状態に達した最後のオブジェクトインスタンスの成功または失敗を反映する、オブジェクトのヘルスステータス。 | String | 
| @healthStatusFromInstanceId | 終了状態に達した最後のインスタンスオブジェクトの ID。 | String | 
| @healthStatusUpdatedTime | ヘルス状態が最後に更新された時間。 | DateTime | 
| hostname | タスクの試行を取得したクライアントのホスト名。 | String | 
| @lastDeactivatedTime | このオブジェクトが最後に非アクティブ化された時刻。 | DateTime | 
| @latestCompletedRunTime | 実行が完了した最後の実行の時刻。 | DateTime | 
| @latestRunTime | 実行がスケジュールされた最後の実行の時刻。 | DateTime | 
| @nextRunTime | 次回にスケジュールされた実行の時刻。 | DateTime | 
| reportProgressTime | リモートアクティビティで進捗状況が報告された最新の時刻。 | DateTime | 
| @scheduledEndTime | オブジェクトの予定された終了時刻。 | DateTime | 
| @scheduledStartTime | オブジェクトの予定された開始時刻。 | DateTime | 
| @status | このオブジェクトのステータス。 | String | 
| @version | オブジェクトが作成されたパイプラインのバージョン。 | String | 
| @waitingOn | このオブジェクトが待機している依存関係のリストの説明。 | 参照オブジェクト:  "waitingOn":\$1"ref":"myRunnableObjectId"\$1 | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー。 | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID。 | String | 
| @sphere | オブジェクトの球です。ライフサイクルにおける場所を示します。たとえば、コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します。 | String | 

# ShellCommandActivity
<a name="dp-object-shellcommandactivity"></a>

 コマンドまたはスクリプトを実行します。`ShellCommandActivity` を使用して、時系列で、または cron 風に、スケジュールしたタスクを実行できます。

`stage` フィールドを true に設定して `S3DataNode` とともに使用する場合、`ShellCommandActivity` ではデータのステージングという概念がサポートされます。つまり、データを Amazon S3 から Amazon EC2 などのステージング用の場所またはローカル環境に移動し、そこでスクリプトと `ShellCommandActivity` を使用してデータの処理を実行して、Amazon S3 にデータを戻すことができます。

この場合、シェルコマンドを入力 `S3DataNode` に接続すると、シェルスクリプトは、`ShellCommandActivity` の入力フィールドを参照する `${INPUT1_STAGING_DIR}`、`${INPUT2_STAGING_DIR}` などのフィールドを使用して直接データを操作できます。

同様に、シェルコマンドの出力も、`${OUTPUT1_STAGING_DIR}`、`${OUTPUT2_STAGING_DIR}` などで参照される出力ディレクトリにステージングして、自動的に Amazon S3 に戻すことができます。

これらの式は、コマンドライン引数としてシェルコマンドに渡して、データ変換ロジックで使用することができます。

`ShellCommandActivity` では、Linux 形式のエラーコードと文字列が返されます。`ShellCommandActivity` の結果がエラーであれば、返される `error` はゼロ以外の値になります。

## 例
<a name="shellcommandactivity-example"></a>

以下は、このオブジェクト型の例です。

```
{
  "id" : "CreateDirectory",
  "type" : "ShellCommandActivity",
  "command" : "mkdir new-directory"
}
```

## 構文
<a name="shellcommandactivity-syntax"></a>


****  

| オブジェクト呼び出しフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| スケジュール |  このオブジェクトは、`schedule` 期間の実行中に呼び出されます。 このオブジェクトの依存関係の実行順序を設定するには、別のオブジェクトへの `schedule` 参照を指定します。 この要件を満たすには、オブジェクトで明示的に `schedule` を設定します。たとえば、`"schedule": {"ref": "DefaultSchedule"}` を指定します。 ほとんどの場合、すべてのオブジェクトがそのスケジュールを継承するように、`schedule` 参照をデフォルトのパイプラインオブジェクトに配置することをお勧めします。パイプラインがスケジュールのツリー (マスタースケジュール内のスケジュール) で構成されている場合は、スケジュール参照がある親オブジェクトを作成します。 負荷を分散するために、 は物理オブジェクトをスケジュールより少し前に AWS Data Pipeline 作成しますが、スケジュールどおりに実行します。 オプションのスケジュール設定の例については、「[https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html)」を参照してください。  | 参照オブジェクト ("schedule":\$1"ref":"myScheduleId"\$1 など) | 

 


****  

| 必須のグループ (次のいずれかが必要です) | 説明 | スロットタイプ | 
| --- | --- | --- | 
| コマンド | 実行するコマンド。\$1 を使用して位置指定パラメータを参照し、scriptArgument を使用してコマンドのパラメータを指定します。この値および関連するパラメーターは、Task Runner を実行している環境で機能する必要があります。 | String | 
| scriptUri | ダウンロードして、シェルコマンドとして実行するファイルの Amazon S3 URI パス。指定できる scriptUri または command フィールドは 1 つだけです。scriptUri はパラメータを使用できません。代わりに command を使用します。 | String | 

 


****  

| 必須のグループ (次のいずれかが必要です) | 説明 | スロットタイプ | 
| --- | --- | --- | 
| runsOn | アクティビティまたはコマンドを実行するコンピューティングリソース (例: Amazon EC2 インスタンス、Amazon EMR クラスター)。 | 参照オブジェクト ("runsOn":\$1"ref":"myResourceId"\$1 など) | 
| workerGroup | ルーティングタスクに使用されます。値 runsOn を指定して、workerGroup がある場合、workerGroup は無視されます。 | String | 

 


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| attemptStatus | リモートアクティビティから最も最近報告されたステータス。 | String | 
| attemptTimeout | リモートの作業完了のタイムアウト。設定された場合、指定された開始時間内に完了しなかったリモートアクティビティを再試行することができます。 | Period | 
| dependsOn | 実行可能な別のオブジェクトで依存関係を指定します。 | 参照オブジェクト ("dependsOn":\$1"ref":"myActivityId"\$1 など) | 
| failureAndRerunMode | 依存関係が失敗または再実行されたときのコンシューマーノードの動作を示します。 | 一覧表 | 
| input | 入力データの場所。 | 参照オブジェクト ("input":\$1"ref":"myDataNodeId"\$1 など) | 
| lateAfterTimeout | オブジェクトが完了しなければならない、パイプライン開始からの経過時間。スケジュールタイプが ondemand に設定されていない場合にのみトリガーされます。 | Period | 
| maxActiveInstances | コンポーネントで同時にアクティブになるインスタンスの最大数。再実行はアクティブなインスタンスの数にはカウントされません。 | 整数 | 
| maximumRetries | 失敗時の最大再試行回数。 | 整数 | 
| onFail | 現在のオブジェクトが失敗したときに実行するアクション。 | 参照オブジェクト (onFail:\$1"ref":"myActionId"\$1 など) | 
| onLateAction | オブジェクトが予定されていないか、完了していない場合にトリガーされるアクション。 | 参照オブジェクト ("onLateAction":\$1"ref":"myActionId"\$1 など) | 
| onSuccess | 現在のオブジェクトが成功したときに実行するアクション。 | 参照オブジェクト ("onSuccess":\$1"ref":"myActionId"\$1 など) | 
| output | 出力データの場所。 | 参照オブジェクト ("output":\$1"ref":"myDataNodeId"\$1 など) | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト ("parent":\$1"ref":"myBaseObjectId"\$1 など) | 
| pipelineLogUri | パイプラインのログをアップロードするための Amazon S3 URI ('s3://BucketName/Key/' など)。 | String | 
| precondition | オプションで前提条件を定義します。すべての前提条件を満たすまで、データノードは "READY" とマークされません。 | 参照オブジェクト ("precondition":\$1"ref":"myPreconditionId"\$1 など) | 
| reportProgressTimeout | リモートアクティビティによる reportProgress への連続した呼び出しのタイムアウト。設定された場合、指定された期間の進捗状況を報告しないリモートアクティビティは停止されたと見なし、再試行できます。 | Period | 
| retryDelay | 2 回の再試行の間のタイムアウト期間。 | Period | 
| scheduleType |  パイプライン定義のオブジェクトを、期間の最初にスケジュールするか、最後にスケジュールするかを指定できます。 値は、`cron`、`ondemand`、および `timeseries` です。 `timeseries` に設定された場合、インスタンスは各間隔の最後にスケジュールされます。 `Cron` に設定された場合、インスタンスは各間隔の最初にスケジュールされます。 `ondemand` に設定された場合、アクティベーションごとに 1 回パイプラインを実行することができます。つまり、パイプラインを再実行するために、クローンしたり再作成したりする必要はありません。`ondemand` スケジュールを使用する場合は、パイプラインのオブジェクトに対する唯一の `scheduleType` として、デフォルトオブジェクトで指定します。`ondemand` パイプラインを使用するには、それ以降の実行ごとに、`ActivatePipeline` オペレーションを呼び出します。  | 一覧表 | 
| scriptArgument | コマンドにより、指定したコマンドに渡す文字列の JSON 形式の配列。たとえば、コマンドが echo \$11 \$12 であれば、scriptArgument を "param1", "param2" のように指定できます。複数の引数およびパラメータがある場合は、次のように scriptArgument を渡すことができます。 "scriptArgument":"arg1","scriptArgument":"param1","scriptArgument":"arg2","scriptArgument":"param2"scriptArgument は command でのみ使用できます。scriptUri で使用するとエラーが発生します。 | String | 
| ステージ | ステージングが有効かどうか決定し、ステージングされたデータ変数（\$1\$1INPUT1\$1STAGING\$1DIR\$1 や  \$1\$1OUTPUT1\$1STAGING\$1DIR\$1 など）にシェルコマンドがアクセスできるようにします。 | ブール値 | 
| stderr | コマンドからリダイレクトされたシステムエラーメッセージを受け取る パス。runsOn フィールドを使用する場合、アクティビティを実行するリソースが一時的であるため、これは Amazon S3 パスにする必要があります。ただし、workerGroup フィールドを指定した場合は、ローカルファイルパスを指定できます。 | String | 
| stdout | コマンドからリダイレクトされた出力を受け取る Amazon S3 パス。runsOn フィールドを使用する場合、アクティビティを実行するリソースが一時的であるため、これは Amazon S3 パスにする必要があります。ただし、workerGroup フィールドを指定した場合は、ローカルファイルパスを指定できます。 | String | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @activeInstances | 現在スケジュールされているアクティブなインスタンスオブジェクトのリスト。 | 参照オブジェクト ("activeInstances":\$1"ref":"myRunnableObjectId"\$1 など) | 
| @actualEndTime | このオブジェクトの実行が終了した時刻。 | DateTime | 
| @actualStartTime | このオブジェクトの実行が開始された時刻。 | DateTime | 
| cancellationReason | このオブジェクトがキャンセルされた場合の cancellationReason。 | String | 
| @cascadeFailedOn | オブジェクトの失敗の原因となった依存関係の説明。 | 参照オブジェクト ("cascadeFailedOn":\$1"ref":"myRunnableObjectId"\$1 など) | 
| emrStepLog | Amazon EMR アクティビティの試行でのみ使用可能な Amazon EMR ステップログ | String | 
| errorId | このオブジェクトが失敗した場合は errorId。 | String | 
| errorMessage | このオブジェクトが失敗した場合は errorMessage。 | String | 
| errorStackTrace | このオブジェクトが失敗した場合は、エラースタックトレース。 | String | 
| @finishedTime | このオブジェクトが実行を終了した時刻。 | DateTime | 
| hadoopJobLog | Amazon EMR ベースのアクティビティで試みることができる Hadoop ジョブのログ。 | String | 
| @healthStatus | 終了状態に達した最後のオブジェクトインスタンスの成功または失敗を反映する、オブジェクトのヘルスステータス。 | String | 
| @healthStatusFromInstanceId | 終了状態に達した最後のインスタンスオブジェクトの ID。 | String | 
| @healthStatusUpdatedTime | ヘルス状態が最後に更新された時間。 | DateTime | 
| hostname | タスクの試行を取得したクライアントのホスト名。 | String | 
| @lastDeactivatedTime | このオブジェクトが最後に非アクティブ化された時刻。 | DateTime | 
| @latestCompletedRunTime | 実行が完了した最後の実行の時刻。 | DateTime | 
| @latestRunTime | 実行がスケジュールされた最後の実行の時刻。 | DateTime | 
| @nextRunTime | 次回にスケジュールされた実行の時刻。 | DateTime | 
| reportProgressTime | リモートアクティビティで進捗状況が報告された最新の時刻。 | DateTime | 
| @scheduledEndTime | オブジェクトの予定された終了時刻。 | DateTime | 
| @scheduledStartTime | オブジェクトの予定された開始時刻。 | DateTime | 
| @status | オブジェクトのステータス。 | String | 
| @version | オブジェクトの作成に使用される AWS Data Pipeline バージョン。 | String | 
| @waitingOn | このオブジェクトが待機している依存関係のリストの説明。 | 参照オブジェクト ("waitingOn":\$1"ref":"myRunnableObjectId"\$1 など) | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー。 | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID。 | String | 
| @sphere | ライフサイクル内のオブジェクトの場所です。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します。 | String | 

## 以下の資料も参照してください。
<a name="shellcommandactivity-seealso"></a>
+ [CopyActivity](dp-object-copyactivity.md)
+ [EmrActivity](dp-object-emractivity.md)

# SqlActivity
<a name="dp-object-sqlactivity"></a>

データベースに対する SQL クエリ（スクリプト）を実行します。

## 例
<a name="sqlactivity-example"></a>

以下は、このオブジェクト型の例です。

```
{
  "id" : "MySqlActivity",
  "type" : "SqlActivity",
  "database" : { "ref": "MyDatabaseID" },
  "script" : "SQLQuery" | "scriptUri" : s3://scriptBucket/query.sql,
  "schedule" : { "ref": "MyScheduleID" },
}
```

## 構文
<a name="sqlactivity-syntax"></a>


****  

| 必須フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| データベース | 指定された SQL スクリプトを実行するデータベース。 | 参照オブジェクト ("database":\$1"ref":"myDatabaseId"\$1 など) | 

 


****  

| オブジェクト呼び出しフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| スケジュール |  このオブジェクトは、スケジュール期間の実行中に呼び出されます。このオブジェクトの依存関係の実行順序を設定するには、別のオブジェクトへのスケジュール参照を指定する必要があります。たとえば `"schedule": {"ref": "DefaultSchedule"}` を指定することで、オブジェクトでスケジュールを明示的に設定できます。 ほとんどの場合、すべてのオブジェクトがそのスケジュールを継承するように、スケジュール参照をデフォルトのパイプラインオブジェクトに配置することをお勧めします。 マスタースケジュール内にネストされたスケジュールのツリーがパイプラインにある場合、スケジュール参照がある親オブジェクトを作成することができます。オプションのスケジュール設定の例については、「[https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html)」を参照してください。  | 参照オブジェクト ("schedule":\$1"ref":"myScheduleId"\$1 など) | 

 


****  

| 必須のグループ (次のいずれかが必要です) | 説明 | スロットタイプ | 
| --- | --- | --- | 
| スクリプト | 実行する SQL スクリプト。スクリプトまたは scriptUri を指定する必要があります。スクリプトが Amazon S3 に保存されている場合、スクリプトは式として評価されません。scriptArgument に複数の値を設定すると、スクリプトを Amazon S3 に保存するときに役立ちます。 | String | 
| scriptUri | このアクティビティにおいて SQL スクリプトを実行する場所を指定する URI。 | String | 

 


****  

| 必須のグループ (次のいずれかが必要です) | 説明 | スロットタイプ | 
| --- | --- | --- | 
| runsOn | アクティビティまたはコマンドを実行するコンピューティングリソース。たとえば、Amazon EC2 インスタンスまたは Amazon EMR クラスター。 | 参照オブジェクト ("runsOn":\$1"ref":"myResourceId"\$1 など) | 
| workerGroup | ワーカーグループ。これはルーティングタスクに使用されます。値 runsOn を指定して、workerGroup がある場合、workerGroup は無視されます。 | String | 

 


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| attemptStatus | リモートアクティビティから最も最近報告されたステータス。 | String | 
| attemptTimeout | リモートの作業完了のタイムアウト。設定された場合、設定された開始時間内に完了しなかったリモートアクティビティを再試行することができます。 | Period | 
| dependsOn | 実行可能な別のオブジェクトで依存関係を指定します。 | 参照オブジェクト ("dependsOn":\$1"ref":"myActivityId"\$1 など) | 
| failureAndRerunMode | 依存関係が失敗または再実行されたときのコンシューマーノードの動作を示します。 | 一覧表 | 
| input | 入力データの場所。 | 参照オブジェクト ("input":\$1"ref":"myDataNodeId"\$1 など) | 
| lateAfterTimeout | パイプラインのスケジュールされた開始までの期間。この期間内にオブジェクトの実行が開始されている必要があります。 | Period | 
| maxActiveInstances | コンポーネントで同時にアクティブになるインスタンスの最大数。再実行はアクティブなインスタンスの数にはカウントされません。 | 整数 | 
| maximumRetries | 失敗時の最大再試行回数 | 整数 | 
| onFail | 現在のオブジェクトが失敗したときに実行するアクション。 | 参照オブジェクト (onFail:\$1"ref":"myActionId"\$1 など) | 
| onLateAction | オブジェクトがまだスケジュールされていない場合や、パイプラインのスケジュールされた開始までの期間（"lateAfterTimeout" で指定）内にまだ完了していない場合にトリガーされるアクション。 | 参照オブジェクト ("onLateAction":\$1"ref":"myActionId"\$1 など) | 
| onSuccess | 現在のオブジェクトが成功したときに実行するアクション。 | 参照オブジェクト ("onSuccess":\$1"ref":"myActionId"\$1 など) | 
| output | 出力データの場所。これが便利なのは、スクリプト内から出力テーブルを参照する場合や（\$1\$1output.tablename\$1 など）、出力データノードで "createTableSql" を設定することで出力テーブルを作成する場合です。SQL クエリの出力は出力データノードに書き込まれません。 | 参照オブジェクト ("output":\$1"ref":"myDataNodeId"\$1 など) | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト ("parent":\$1"ref":"myBaseObjectId"\$1 など) | 
| pipelineLogUri | パイプラインのログをアップロードするための S3 URI (s3://BucketName/Key/ など)。 | String | 
| precondition | オプションで前提条件を定義します。すべての前提条件を満たすまで、データノードは "READY" とマークされません。 | 参照オブジェクト ("precondition":\$1"ref":"myPreconditionId"\$1 など) | 
| キュー | [Amazon Redshift のみ] 同時発生した複数アクティビティの割り当てと優先順位付けをキュー内の位置に基づいて行うことができる、Amazon Redshift クエリグループ設定に相当します。Amazon Redshift では、同時接続数が 15 に制限されています。詳細については、Amazon Redshift データベース開発者ガイドの「[キューへのクエリの割り当て](https://docs.aws.amazon.com/redshift/latest/dg/cm-c-executing-queries.html)」を参照してください。 | String | 
| reportProgressTimeout | reportProgress へのリモート作業の連続した呼び出しのタイムアウト。設定された場合、指定された期間の進捗状況を報告しないリモートアクティビティは停止されたと見なし、再試行できます。 | Period | 
| retryDelay | 2 回の再試行の間のタイムアウト期間。 | Period | 
| scheduleType |  スケジュールタイプによって、パイプライン定義のオブジェクトを、期間の最初にスケジュールするか、最後にスケジュールするかを指定できます。値は、`cron`、`ondemand`、および `timeseries` です。  `timeseries` スケジューリングは、インスタンスが各間隔の最後にスケジュールされることを意味します。 `cron` スケジューリングは、インスタンスが各間隔の最初にスケジュールされることを意味します。 `ondemand` スケジュールにより、アクティベーションごとに 1 回パイプラインを実行することができます。つまり、パイプラインを再実行するために、クローンしたり再作成したりする必要はありません。`ondemand` スケジュールを使用する場合は、デフォルトオブジェクトで指定し、パイプラインのオブジェクトに対して指定される唯一の `scheduleType` である必要があります。`ondemand` パイプラインを使用するには、それ以降の実行ごとに、`ActivatePipeline` オペレーションを呼び出します。  | 一覧表 | 
| scriptArgument | スクリプトの変数のリスト。または、式を直接スクリプトフィールドに指定することもできます。scriptArgument に複数の値を設定すると、スクリプトを Amazon S3 に保存する際に役立ちます。例: \$1\$1format(@scheduledStartTime, "YY-MM-DD HH:MM:SS"\$1\$1n\$1\$1format(plusPeriod(@scheduledStartTime, "1 day"), "YY-MM-DD HH:MM:SS"\$1 | String | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @activeInstances | 現在スケジュールされているアクティブなインスタンスオブジェクトのリスト。 | 参照オブジェクト ("activeInstances":\$1"ref":"myRunnableObjectId"\$1 など) | 
| @actualEndTime | このオブジェクトの実行が終了した時刻。 | DateTime | 
| @actualStartTime | このオブジェクトの実行が開始された時刻。 | DateTime | 
| cancellationReason | このオブジェクトがキャンセルされた場合の cancellationReason。 | String | 
| @cascadeFailedOn | オブジェクトが失敗した際の依存関係チェーンの説明。 | 参照オブジェクト ("cascadeFailedOn":\$1"ref":"myRunnableObjectId"\$1 など) | 
| emrStepLog | EMR アクティビティの試行でのみ使用可能な EMR ステップログ | String | 
| errorId | このオブジェクトが失敗した場合は errorId。 | String | 
| errorMessage | このオブジェクトが失敗した場合は errorMessage。 | String | 
| errorStackTrace | このオブジェクトが失敗した場合は、エラースタックトレース。 | String | 
| @finishedTime | このオブジェクトが実行を終了した時刻。 | DateTime | 
| hadoopJobLog | EMR ベースのアクティビティで試みることができる Hadoop ジョブのログ。 | String | 
| @healthStatus | 終了状態に達した最後のオブジェクトインスタンスの成功または失敗を反映する、オブジェクトのヘルスステータス。 | String | 
| @healthStatusFromInstanceId | 終了状態に達した最後のインスタンスオブジェクトの ID。 | String | 
| @healthStatusUpdatedTime | ヘルス状態が最後に更新された時間。 | DateTime | 
| hostname | タスクの試行を取得したクライアントのホスト名。 | String | 
| @lastDeactivatedTime | このオブジェクトが最後に非アクティブ化された時刻。 | DateTime | 
| @latestCompletedRunTime | 実行が完了した最後の実行の時刻。 | DateTime | 
| @latestRunTime | 実行がスケジュールされた最後の実行の時刻。 | DateTime | 
| @nextRunTime | 次回にスケジュールされた実行の時刻。 | DateTime | 
| reportProgressTime | リモートアクティビティで進捗状況が報告された最新の時刻。 | DateTime | 
| @scheduledEndTime | オブジェクトの予定された終了時刻 | DateTime | 
| @scheduledStartTime | オブジェクトの予定された開始時刻 | DateTime | 
| @status | このオブジェクトのステータス。 | String | 
| @version | オブジェクトが作成されたパイプラインのバージョン。 | String | 
| @waitingOn | このオブジェクトが待機している依存関係のリストの説明。 | 参照オブジェクト ("waitingOn":\$1"ref":"myRunnableObjectId"\$1 など) | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー。 | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID。 | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します。 | String | 