AWS Data Pipeline は新規顧客には利用できなくなりました。の既存のお客様は、通常どおりサービスを AWS Data Pipeline 引き続き使用できます。詳細はこちら
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
HiveCopyActivity
EMR クラスターで Hive クエリを実行します。HiveCopyActivity を使用すると、DynamoDB テーブル間でのデータのコピーが容易になります。HiveCopyActivity では、HiveQL ステートメントを指定して、DynamoDB からの入力データを列および行レベルでフィルター処理できます。
例
以下の例は、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" } ] }
構文
| オブジェクト呼び出しフィールド | 説明 | スロットタイプ |
|---|---|---|
| スケジュール | このオブジェクトは、スケジュール期間の実行中に呼び出されます。ユーザーは、このオブジェクトの依存関係の実行順序を設定するには、別のオブジェクトへのスケジュール参照を指定する必要があります。ユーザーは、オブジェクトでスケジュールを明示的に設定して、この要件を満たすことができます。たとえば、"schedule": {"ref": "DefaultSchedule"} と指定します。ほとんどの場合、すべてのオブジェクトがそのスケジュールを継承するように、スケジュール参照をデフォルトのパイプラインオブジェクトに配置することをお勧めします。または、パイプラインにスケジュールのツリー (マスタースケジュール内のスケジュール) がある場合、ユーザーは、スケジュール参照がある親オブジェクトを作成することができます。オプションのスケジュール設定の例については、「https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html」を参照してください。 | 参照オブジェクト ("schedule":{"ref":"myScheduleId"} など) |
| 必須のグループ (次のいずれかが必要です) | 説明 | スロットタイプ |
|---|---|---|
| runsOn | 実行するクラスターを指定します。 | 参照オブジェクト ("runsOn":{"ref":"myResourceId"} など) |
| workerGroup | ワーカーグループ。これはルーティングタスクに使用されます。値 runsOn を指定して、workerGroup がある場合、workerGroup は無視されます。 |
String |
| オプションのフィールド | 説明 | スロットタイプ |
|---|---|---|
| attemptStatus | リモートアクティビティから最も最近報告されたステータス。 | String |
| attemptTimeout | リモートの作業完了のタイムアウト。設定された場合、設定された開始時間内に完了しなかったリモートアクティビティを再試行することができます。 | 期間 |
| dependsOn | 実行可能な別のオブジェクトで依存関係を指定します。 | 参照オブジェクト ("dependsOn":{"ref":"myActivityId"} など) |
| failureAndRerunMode | 依存関係が失敗または再実行されたときのコンシューマーノードの動作を示します。 | 一覧表 |
| filterSql | コピーする DynamoDB または Amazon S3 データのサブセットをフィルタリングする Hive SQL ステートメントの断片。によって自動的に AWS Data Pipeline 追加されるため、フィルターには述語のみが含まれ、 WHERE句で始まることはできません。 |
String |
| input | 入力データソース。S3DataNode または DynamoDBDataNode を指定する必要があります。DynamoDBNode を使用する場合は、DynamoDBExportDataFormat を指定します。 |
参照オブジェクト ("input":{"ref":"myDataNodeId"} など) |
| lateAfterTimeout | オブジェクトが完了しなければならない、パイプライン開始からの経過時間。スケジュールタイプが ondemand に設定されていない場合にのみトリガーされます。 |
期間 |
| maxActiveInstances | コンポーネントで同時にアクティブになるインスタンスの最大数。再実行はアクティブなインスタンスの数にはカウントされません。 | 整数 |
| maximumRetries | 失敗時の最大再試行回数。 | 整数 |
| onFail | 現在のオブジェクトが失敗したときに実行するアクション。 | 参照オブジェクト (onFail:{"ref":"myActionId"} など) |
| onLateAction | オブジェクトが予定されていないか、まだ完了していない場合にトリガーされるアクション。 | 参照オブジェクト ("onLateAction":{"ref":"myActionId"} など) |
| onSuccess | 現在のオブジェクトが成功したときに実行するアクション。 | 参照オブジェクト ("onSuccess":{"ref":"myActionId"} など) |
| output | 出力データソース。入力が S3DataNode の場合、これは DynamoDBDataNode を指定する必要があります。それ以外の場合は、S3DataNode または DynamoDBDataNode を指定できます。DynamoDBNode を使用する場合は、DynamoDBExportDataFormat を指定します。 |
参照オブジェクト ("output":{"ref":"myDataNodeId"} など) |
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト ("parent":{"ref":"myBaseObjectId"} など) |
| pipelineLogUri | パイプラインのログをアップロードするための Amazon S3 URI ( 's3://BucketName/Key/' など)。 |
String |
| postActivityTaskConfig | 実行するポストアクティビティ設定スクリプト。Amazon S3 のシェルスクリプトの URI と引数のリストで構成されます。 | 参照オブジェクト ("postActivityTaskConfig":{"ref":"myShellScriptConfigId"} など) |
| preActivityTaskConfig | 実行するプリアクティビティ設定スクリプト。Amazon S3 のシェルスクリプトの URI と引数のリストで構成されます。 | 参照オブジェクト ("preActivityTaskConfig":{"ref":"myShellScriptConfigId"} など) |
| precondition | オプションで前提条件を定義します。すべての前提条件を満たすまで、データノードは "READY" とマークされません。 | 参照オブジェクト ("precondition":{"ref":"myPreconditionId"} など) |
| reportProgressTimeout | reportProgress へのリモート作業の連続した呼び出しのタイムアウト。設定された場合、指定された期間の進捗状況を報告しないリモートアクティビティは停止されたと見なし、再試行できます。 |
期間 |
| resizeClusterBeforeRunning | 入力または出力として指定された DynamoDB データノードに対応するため、このアクティビティを実行する前にクラスターのサイズを変更します。注記アクティビティで を入力データノードまたは出力データノード |
ブール値 |
| resizeClusterMaxInstances | サイズ変更アルゴリズムによってリクエストできるインスタンスの最大数の制限 | 整数 |
| retryDelay | 2 回の再試行の間のタイムアウト期間。 | 期間 |
| scheduleType | スケジュールタイプによって、パイプライン定義のオブジェクトを、期間の最初にスケジュールするか、最後にスケジュールするかを指定できます。[Time Series Style Scheduling] は、インスタンスが各間隔の最後にスケジュールされることを意味し、[Cron Style Scheduling] は、インスタンスが各間隔の最初にスケジュールされることを意味します。オンデマンドスケジュールにより、アクティベーションごとに 1 回パイプラインを実行することができます。つまり、パイプラインを再実行するために、クローンしたり再作成したりする必要はありません。オンデマンドスケジュールを使用する場合は、デフォルトオブジェクトで指定し、パイプラインのオブジェクトに対して指定される唯一の scheduleType である必要があります。オンデマンドパイプラインを使用するには、それ以降の実行ごとに、ActivatePipeline オペレーションを呼び出すだけです。値は、cron、ondemand、および timeseries です。 | 一覧表 |
| 実行時フィールド | 説明 | スロットタイプ |
|---|---|---|
| @activeInstances | 現在スケジュールされているアクティブなインスタンスオブジェクトのリスト。 | 参照オブジェクト ("activeInstances":{"ref":"myRunnableObjectId"} など) |
| @actualEndTime | このオブジェクトの実行が終了した時刻。 | DateTime |
| @actualStartTime | このオブジェクトの実行が開始された時刻。 | DateTime |
| cancellationReason | このオブジェクトがキャンセルされた場合の cancellationReason。 | String |
| @cascadeFailedOn | オブジェクトが失敗した際の依存関係チェーンの説明。 | 参照オブジェクト ("cascadeFailedOn":{"ref":"myRunnableObjectId"} など) |
| 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":{"ref":"myRunnableObjectId"} など) |
| システムフィールド | 説明 | スロットタイプ |
|---|---|---|
| @error | 形式が正しくないオブジェクトを説明するエラー。 | String |
| @pipelineId | このオブジェクトが属するパイプラインの ID。 | String |
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します。 | String |