在Hadoop / EMR中为每个键输出S3中的一个文件

时间:2015-10-21 20:11:47

标签: hadoop emr amazon-emr

通过hadoop / EMR处理输出的每个键是否可以在S3中使用单个文件?将有数以千万计的密钥。在EMR处理之后,每个密钥将具有数百KB的数据。我想为S3中的每个键生成一个文件。

我能想到的唯一方法是直接从mapper写入S3。有哪些优点/缺点?还有其他选择吗?另外,如果我必须以加密格式编写它,我该怎么做?

谢谢,

-Anil

1 个答案:

答案 0 :(得分:0)

对于问题的第一部分,您可以使用MultipleOutputFormat为每个键创建输出文件。我从来没有用数百万个键完成这个,所以你的结果可能会有所不同。见https://hadoop.apache.org/docs/r2.4.1/api/org/apache/hadoop/mapreduce/lib/output/MultipleOutputs.html

对于第二部分,您可以在EMR群集和s3上设置加密,以便透明地处理它。 请参阅http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-plan-input-sse.html