通过hadoop / EMR处理输出的每个键是否可以在S3中使用单个文件?将有数以千万计的密钥。在EMR处理之后,每个密钥将具有数百KB的数据。我想为S3中的每个键生成一个文件。
我能想到的唯一方法是直接从mapper写入S3。有哪些优点/缺点?还有其他选择吗?另外,如果我必须以加密格式编写它,我该怎么做?
谢谢,
-Anil
答案 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。