翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
HiveActivity
EMR クラスターで Hive クエリを実行します。HiveActivity
を使用すると、Amazon EMR アクティビティのセットアップが容易になり、Amazon S3 または Amazon RDS からの入力データに基づいて Hive テーブルが自動的に作成されます。指定する必要があるのは、ソースデータに対して実行する HiveQL のみです。AWS Data Pipeline は、HiveActivity
オブジェクトの入力フィールドに基づいて、${input1}
、${input2}
などを使用して、Hive テーブルを自動的に作成します。
Amazon S3 入力の場合、dataFormat
フィールドを使用して Hive の列名が作成されます。
MySQL (Amazon RDS) 入力の場合、SQL クエリの列名を使用して Hive の列名が作成されます。
注記
このアクティビティでは、Hive CSV Serde
例
以下は、このオブジェクト型の例です。このオブジェクトは、同じパイプライン定義ファイルで定義した他のオブジェクトを 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" } }
構文
オブジェクト呼び出しフィールド | 説明 | スロットタイプ |
---|---|---|
schedule | このオブジェクトは、スケジュール期間の実行中に呼び出されます。このオブジェクトの依存関係の実行順序を設定するために、別のオブジェクトへのスケジュール参照を指定します。この要件を満たすには、たとえば「schedule」: {"ref」:」と指定するなどして、オブジェクトにスケジュールを明示的に設定します。DefaultSchedule「}。ほとんどの場合、すべてのオブジェクトがそのスケジュールを継承するように、スケジュール参照をデフォルトのパイプラインオブジェクトに配置することをお勧めします。または、パイプラインにスケジュールのツリー (マスタースケジュール内のスケジュール) がある場合は、スケジュール参照がある親オブジェクトを作成できます。オプションのスケジュール設定の例については、「https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html」を参照してください。 | 参照オブジェクト、例:「スケジュール」: {"ref」:」myScheduleId「} |
必須のグループ (次のいずれかが必要です) | 説明 | スロットタイプ |
---|---|---|
hiveScript | 実行する Hive スクリプト。 | 文字列 |
scriptUri | 実行される Hive スクリプトの場所 (たとえば、s3: //scriptLocation)。 | 文字列 |
必須のグループ | 説明 | スロットタイプ |
---|---|---|
runsOn | この HiveActivity が実行される EMR クラスター。 |
参照オブジェクト、例えば「RunSon」: {"ref」:」myEmrClusterID "} |
workerGroup | ワーカーグループ。これはルーティングタスクに使用されます。値 runsOn を指定して、workerGroup がある場合、workerGroup は無視されます。 |
文字列 |
input | 入力データソース。 | 「入力」: {"ref」:」などの参照オブジェクトmyDataNodeID "} |
output | 出力データソース。 | 「出力」: {"ref」:」などの参照オブジェクトmyDataNodeID "} |
オプションのフィールド | 説明 | スロットタイプ |
---|---|---|
attemptStatus | リモートアクティビティから最も最近報告されたステータス。 | 文字列 |
attemptTimeout | リモートの作業完了のタイムアウト。設定された場合、設定された開始時間内に完了しなかったリモートアクティビティを再試行することができます。 | [Period] (期間) |
dependsOn | 実行可能な別のオブジェクトで依存関係を指定します。 | 「DependsOn」: {"ref」:」などの参照オブジェクトmyActivityId「} |
failureAndRerunモード | 依存関係が失敗または再実行されたときのコンシューマーノードの動作を示します。 | 一覧表 |
hadoopQueue | ジョブを送信する先の Hadoop スケジューラーのキュー名。 | 文字列 |
lateAfterTimeout | オブジェクトが完了しなければならない、パイプライン開始からの経過時間。スケジュールタイプが ondemand に設定されていない場合にのみトリガーされます。 |
[Period] (期間) |
maxActiveInstances | コンポーネントで同時にアクティブになるインスタンスの最大数。再実行はアクティブなインスタンスの数にはカウントされません。 | 整数 |
maximumRetries | 失敗時の最大再試行回数。 | 整数 |
onFail | 現在のオブジェクトが失敗したときに実行するアクション。 | 「onFail」: {"ref」:」などの参照オブジェクトmyActionId「} |
onLateAction | オブジェクトが予定されていないか、まだ完了していない場合にトリガーされるアクション。 | 「」などの参照オブジェクトonLateAction「: {" 参照」:」myActionId「} |
onSuccess | 現在のオブジェクトが成功したときに実行するアクション。 | 「onSuccess」: {"ref」:」などの参照オブジェクトmyActionId「} |
parent | スロットの継承元となる現在のオブジェクトの親。 | 「親」: {"ref」:」などの参照オブジェクトmyBaseObjectID "} |
pipelineLogUri | S3 の URI (「S3://」など)BucketName/Key/ ') はパイプラインのログをアップロードするためのものです。 | 文字列 |
postActivityTaskコンフィグ | 実行するポストアクティビティ設定スクリプト。Amazon S3 のシェルスクリプトの URI と引数のリストで構成されます。 | 「」などの参照オブジェクトpostActivityTask設定」: {"ref」:」myShellScriptConfigId「} |
preActivityTaskコンフィグ | 実行するプリアクティビティ設定スクリプト。Amazon S3 のシェルスクリプトの URI と引数のリストで構成されます。 | 「」などの参照オブジェクトpreActivityTask設定」: {"ref」:」myShellScriptConfigId「} |
precondition | オプションで前提条件を定義します。すべての前提条件を満たすまで、データノードは "READY" とマークされません。 | 「前提条件」: {"ref」:」などの参照オブジェクトmyPreconditionId「} |
reportProgressTimeout | reportProgress へのリモート作業の連続した呼び出しのタイムアウト。設定された場合、指定された期間の進捗状況を報告しないリモートアクティビティは停止されたと見なし、再試行できます。 |
[Period] (期間) |
resizeClusterBeforeランニング | 入力または出力として指定された DynamoDB データノードに対応するため、このアクティビティを実行する前にクラスターのサイズを変更します。注記アクティビティで入力または出力データノードとして |
ブール値 |
resizeClusterMaxインスタンス | サイズ変更アルゴリズムによってリクエストできるインスタンスの最大数の制限。 | 整数 |
retryDelay | 2 回の再試行の間のタイムアウト期間。 | [Period] (期間) |
scheduleType | スケジュールタイプによって、パイプライン定義のオブジェクトを、期間の最初にスケジュールするか、最後にスケジュールするかを指定できます。[Time Series Style Scheduling] は、インスタンスが各間隔の最後にスケジュールされることを意味し、[Cron Style Scheduling] は、インスタンスが各間隔の最初にスケジュールされることを意味します。オンデマンドスケジュールにより、アクティベーションごとに 1 回パイプラインを実行することができます。つまり、パイプラインを再実行するために、クローンしたり再作成したりする必要はありません。オンデマンドスケジュールを使用する場合は、デフォルトオブジェクトで指定し、パイプラインのオブジェクトに対して指定される唯一の scheduleType である必要があります。オンデマンドパイプラインを使用するには、を呼び出すだけです。ActivatePipeline以降の実行ごとに操作を行います。値は、cron、ondemand、および timeseries です。 | 一覧表 |
scriptVariable | スクリプトの実行時に Amazon EMR が Hive に渡すスクリプト変数を指定します。たとえば、次の例では、スクリプト変数を使って SAMPLE および FILTER_DATE という変数を Hive に渡しています: SAMPLE=s3://elasticmapreduce/samples/hive-ads および
FILTER_DATE=#{format(@scheduledStartTime,'YYYY-MM-dd')}% 。このフィールドでは、複数の値を指定でき、script フィールドと scriptUri フィールドの両方で機能します。さらに scriptVariable は stage の設定が true か false かに関係なく機能します。このフィールドは、AWS Data Pipeline の式と関数を利用して Hive に動的な値を送信するときに特に便利です。 |
文字列 |
stage | スクリプトの実行前または後に、ステージングが有効かどうかを決定します。Hive 11 では許可されていません。Amazon EMR AMI バージョン 3.2.0 以上を使用してください。 | ブール値 |
実行時フィールド | 説明 | スロットタイプ |
---|---|---|
@activeInstances | 現在スケジュールされているアクティブなインスタンスオブジェクトのリスト。 | 「アクティブインスタンス」: {"ref」:」などの参照オブジェクトmyRunnableObjectID "} |
@actualEndTime | このオブジェクトの実行が終了した時刻。 | DateTime |
@actualStartTime | このオブジェクトの実行が開始された時刻。 | DateTime |
cancellationReason | このオブジェクトがキャンセルされた場合の cancellationReason。 | 文字列 |
@cascadeFailedOn | オブジェクトが失敗した際の依存関係チェーンの説明。 | 「」などの参照オブジェクトcascadeFailedOn「: {" 参照」:」myRunnableObjectID "} |
emrStepLog | EMR アクティビティの試行でのみ使用可能な Amazon EMR ステップログ。 | 文字列 |
errorId | このオブジェクトが失敗した場合は errorId。 | 文字列 |
errorMessage | このオブジェクトが失敗した場合は errorMessage。 | 文字列 |
errorStackTrace | このオブジェクトが失敗した場合は、エラースタックトレース。 | 文字列 |
@finishedTime | このオブジェクトが実行を終了した時刻。 | DateTime |
hadoopJobLog | EMR ベースのアクティビティで試みることができる Hadoop ジョブのログ。 | 文字列 |
@healthStatus | 終了状態に達した最後のオブジェクトインスタンスの成功または失敗を反映する、オブジェクトのヘルスステータス。 | 文字列 |
@healthStatusFromInstanceId | 終了状態に達した最後のインスタンスオブジェクトの ID。 | 文字列 |
@healthStatusUpdated[時間] | ヘルス状態が最後に更新された時間。 | DateTime |
hostname | タスクの試行を取得したクライアントのホスト名。 | 文字列 |
@lastDeactivatedTime | このオブジェクトが最後に非アクティブ化された時刻。 | DateTime |
@latestCompletedRun[時間] | 実行が完了した最後の実行の時刻。 | DateTime |
@latestRunTime | 実行がスケジュールされた最後の実行の時刻。 | DateTime |
@nextRunTime | 次回にスケジュールされた実行の時刻。 | DateTime |
reportProgressTime | リモートアクティビティで進捗状況が報告された最新の時刻。 | DateTime |
@scheduledEndTime | オブジェクトの予定終了時刻。 | DateTime |
@scheduledStartTime | オブジェクトの予定開始時刻。 | DateTime |
@status | このオブジェクトのステータス。 | 文字列 |
@バージョン | オブジェクトが作成されたパイプラインのバージョン。 | 文字列 |
@waitingOn | このオブジェクトが待機している依存関係のリストの説明。 | 「WaitingOn」: {"ref」:」などの参照オブジェクトmyRunnableObjectID "} |
システムフィールド | 説明 | スロットタイプ |
---|---|---|
@error | 形式が正しくないオブジェクトを説明するエラー。 | 文字列 |
@pipelineId | このオブジェクトが属するパイプラインの ID。 | 文字列 |
@sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します。 | 文字列 |