来自mapper和reducer的EMR自定义日志记录

时间:2013-08-21 17:48:42

标签: logging emr

是否可以在EMR中使用来自映射器和缩减器的自定义日志.... 假设我有一个映射器,它根据某些条件通过数据和过滤器

映射器代码(流媒体)

  • 查看输入行
  • 如果useragent不好 - 登入自定义日志
  • 否则让它传递给reducer

如何编写自定义日志并从该作业的日志目录中的所有映射器获取整合日志。

同样,如果我想在reducer阶段完成一些日志记录

  • 处理密钥的值(例如按日期时间排序)
  • 如果一小时内超过20个事件,这是一个糟糕的用户 - LOG到自定义日志 - 让它去输出

感谢任何帮助。 感谢

2 个答案:

答案 0 :(得分:0)

您可以使用MultipleOutputs(新API)或MultiFileOutput(旧API)写入多个输出。 将所需记录写入不同的日志位置。如果你想要一个大的日志文件,你可以在工作完成后合并它们。

答案 1 :(得分:0)

要实现多输出,请查看 http://hadoop.apache.org/docs/r2.0.3-alpha/api/org/apache/hadoop/mapreduce/lib/output/MultipleOutputs.html

Java api支持创建多个/命名输出文件。

我无法在使用ruby编写的流代码中找到任何方法。