1

データパイプラインを使用してSparkアプリケーションを実行しようとしています。私のSparkアプリケーション内でEmrActivityに指定した入出力(S3DataNode)にどのようにアクセスできますか?EmrActivityの入力/出力 - AWSデータパイプ

私の質問はこれに似ている - https://forums.aws.amazon.com/message.jspa?messageID=507877

以前の私はステップでスパークアプリケーションへの引数として入力と出力を渡すために使用されます。

おかげ

答えて

1

私は同じ質問に偶然出会いました。この周りには非常に限られたドキュメントしかありません。

  1. あなたはEmrActivityためinputoutputを指定します。これが私の理解です。これにより、データノードとアクティビティ間の依存関係が作成されます。 EmrActivityで

  2. 、あなたは次のように入力ソースを参照することができます。#{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/" 
    }, 
    ...