私は同じ質問に偶然出会いました。この周りには非常に限られたドキュメントしかありません。
あなたはEmrActivityためinput
とoutput
を指定します。これが私の理解です。これにより、データノードとアクティビティ間の依存関係が作成されます。 EmrActivityで
- 、あなたは次のように入力ソースを参照することができます。
#{input.directoryPath},#{output.directoryPath}
例:
...
{
"name": "Input Data Node",
"id": "inputDataNode",
"type": "S3DataNode",
"directoryPath": "s3://my/raw/data/path"
},
{
"name": "transform",
"id": "transform",
"type": "EmrActivity",
"step": [
"s3://us-east-1.elasticmapreduce/libs/script-runner/script-runner.jar,s3://my/transform/script.sh,#{input.directoryPath},#{output.directoryPath}"
],
"runsOn": {
"ref": "emrcluster"
},
"input": {
"ref": "inputDataNode"
},
"output": {
"ref": "outputDataNode"
}
},
{
"name": "Output Data Node",
"id": "outputDataNode",
"type": "S3DataNode",
"directoryPath": "s3://path/to/output/"
},
...