0

在 Amazon EMR 中运行作业时,我在 S3 中没有得到任何输出。

我指定了参数:

-inputfile s3n://exdsyslab/data/file.txt -outputdir s3n://exdsyslab/output

当我检查作业日志时,我看到作业已成功完成。但是我的bucket exdsyslab的输出文件夹中没有输出。

我还尝试了另一件事。

我链接了两个工作:创建工作流时指定的参数:

-inputfile s3n://exdsyslab/data/file.txt -outputdir s3n://exdsyslab/result -outputdir1 s3n://exdsyslab/result1

第二个工作的输入是第一个工作的输出。

当程序运行时,我在第二个作业中遇到了以下异常:

The output folder, "result", already exists.

发生这种情况是因为该目录是由链中的第一个作业创建的。如何为 mapreduce 链中的第二个作业指定输入和输出?

为什么在参数中指定的 s3 存储桶中有输出?

4

1 回答 1

0

要获得正确的输出,请使用以下命令:

-inputfile s3n://exdsyslab/data/file.txt -output s3n://exdsyslab/output

请注意,输出目录由“-output”指定。

对于链接作业:您不能按照您指定的方式进行操作,您必须为现有作业创建多个步骤才能执行它。这个其他答案可能会对您有所帮助:https ://stackoverflow.com/a/11109592/1203129

对于您的特定情况,输入/输出目录必须如下所示:

第1步:

 -inputfile s3n://exdsyslab/data/file.txt -output s3n://exdsyslab/result 

第2步:

 -input s3n://exdsyslab/result -output s3n://exdsyslab/result1
于 2013-02-12T22:39:10.603 回答