回答

1

我跑过同一个问题。这方面的文档非常有限。这是我的理解:

  1. 您指定EmrActivity的inputoutput。这将创建数据节点和活动之间的依赖关系。

  2. 在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/" 
    }, 
    ...