回答

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