我正在尝试通过 AWS SDK for PHP 添加一些工作。我能够成功启动集群并通过 API 启动新的作业流程,但在尝试创建 Hadoop Streaming 步骤时出现错误。
这是我的代码:
// add some jobflow steps
$response = $emr->add_job_flow_steps($JobFlowId, array(
new CFStepConfig(array(
'Name' => 'MapReduce Step 1. Test',
'ActionOnFailure' => 'TERMINATE_JOB_FLOW',
'HadoopJarStep' => array(
'Jar' => '/home/hadoop/contrib/streaming/hadoop-streaming.jar',
// ERROR IS HERE!!!! How can we pas the parameters?
'Args' => array(
'-input s3://logs-input/appserver1 -output s3://logs-input/job123/ -mapper s3://myscripts/mapper-apache.php -reducer s3://myscripts/reducer.php',
),
)
)),
));
我收到如下错误:无效的流参数'-input s3://.... -output s3://..... -mapper s3://....../mapper.php -reducer s3://...../reducer.php"
所以不清楚如何将参数传递给 Hadoop Streaming JAR ?
官方 AWS SDK for PHP 文档不提供任何示例或文档。
可能相关的未答复线程: