首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Crunch调试日志记录

Crunch调试日志记录
EN

Stack Overflow用户
提问于 2015-05-14 23:57:03
回答 2查看 369关注 0票数 1

任何使用过Crunch管道的人都知道,在调用pipeline.run()pipeline.done()方法之前,实际上不会执行任何操作。传统上,在大多数语言中,我们可以将日志语句打印出中间变量值,但对于Crunch,由于管道行为,这是不可能的。有没有办法解决这个问题?

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2015-06-05 12:57:51

您可以在DoFn、MapFn、FilterFn函数中添加调试和日志语句,这些语句是在管道执行期间记录的。

票数 1
EN

Stack Overflow用户

发布于 2017-09-14 05:20:09

我通过获取logger并在我的doFn中使用它来做到这一点。

代码语言:javascript
复制
import org.apache.log4j.Logger;
...

public static class MyDoFn extends DoFn<Integer, String> {
    private static final Logger logger = Logger.getLogger(MyDoFn.class);
    ...

    @Override
    public void process(Integer input, Emitter<String> emitter) {
        ...
        logger.info("hello");
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30241808

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档