如何访问输出阶段的 Mapper/Reducer 计数器?

2023-12-14

我在 Mapper 类中创建了一些计数器:

(使用 appengine-mapreduce Java 库 v.0.5 编写的示例)

@Override
public void map(Entity entity) {
    getContext().incrementCounter("analyzed");
    if (isSpecial(entity)){
        getContext().incrementCounter("special");
    }
}

(方法isSpecial刚刚返回true or false取决于实体的状态,与问题无关)

我想在处理完所有内容后访问这些计数器finish输出类的方法:

@Override
public Summary finish(Collection<? extends OutputWriter<Entity>> writers) {
    //get the counters and save/return the summary
    int analyzed = 0; //getCounter("analyzed");
    int special = 0; //getCounter("special");
    Summary summary = new Summary(analyzed, special);
    save(summary);
    return summary;
}

...但是方法getCounter只能从映射器上下文类,只能从 Mappers/Reducers 访问getContext() method.

如何在输出阶段访问我的计数器?

旁注:我无法将计数器值发送到我的输出类,因为整个 Map/Reduce 是将一组实体转换为另一组实体(换句话说:计数器不是 Map/Reduce 的主要目的)。计数器只是用于控制 - 我在这里计算它们而不是创建另一个进程只是为了进行计数是有意义的。

Thanks.


目前还没有办法在输出中执行此操作。但请随时在这里提出要求:https://code.google.com/p/appengine-mapreduce/issues/list

然而,您可以做的是链接一个作业在您的map-reduce 之后运行,该作业将接收其输出和计数器。这里有一个例子:https://code.google.com/p/appengine-mapreduce/source/browse/trunk/java/example/src/com/google/appengine/demos/mapreduce/entitycount/ChainedMapReduceJob.java

在上面的示例中,它连续运行 3 个 MapReduce 作业。请注意,这些不一定是 MapReduce 作业,您可以创建自己的类来扩展 Job 并具有用于创建 Summary 对象的 run 方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何访问输出阶段的 Mapper/Reducer 计数器? 的相关文章

随机推荐

  • Sed 追加行

    sed 是否有一个命令可以在匹配的行后面追加一行 我尝试四处搜索 但对结果有点困惑 基本上我希望它匹配 address doubleclick net 127 0 0 1 并在其下面添加一行 例如 address doubleclick n
  • 如何获取应用于文本视图的字体名称

    Textview label TextView findViewById R id item title label setText Solve My Issue Log d TAG Font Family String valueOf l
  • 跨多索引的二元运算广播

    谁能解释为什么跨多索引系列广播不起作用 这可能是 pandas 0 12 0 中的一个错误吗 x pd DataFrame year 1 1 1 1 2 2 2 2 country A A B B A A B B prod 1 2 1 2
  • 正则表达式 正则表达式中“字面”的含义

    有没有办法 按原样 处理正则表达式字符串的一部分 IE 我想匹配文字模式 w 在某些文本中 夸张的例子 但你明白我的意思 我可以将整个位包含在某些内容中吗 Use Regex Escape See http msdn microsoft c
  • Tensorflow 对象检测推理在 CPU 上速度缓慢

    系统信息 您正在使用的模型的顶级目录是什么 对象检测 ssd inception v2 我是否编写了自定义代码 而不是使用 TensorFlow 中提供的常用示例脚本 No 操作系统平台和发行版 例如Linux Ubuntu 16 04 乌
  • 如何将 COM 对象 Microsoft.Office.Interop 部署到 IIS,以便我的 C# WCF 服务引用能够工作?

    当我尝试在本地计算机上从 IIS 7 运行有关 Microsoft Office Interop Outlook 的 Web 应用程序时 出现如下错误 由于以下错误 检索 CLSID 为 0006F03A 0000 0000 C000 00
  • iPhone 应用程序的大小有什么限制?

    我有一个非常大的应用程序 它有大量的图像和声音 总共有 30 MB 大小 1 官方对应用程序大小有限制吗 2 我还应该考虑其他 实际 限制吗 四处阅读 有报道称应用程序的绝对最大大小为 2GB http discussions apple
  • TableVew - 抛出 KeyEvent 时编辑单元格

    我在 TableView 上有一个事件侦听器 用于侦听键盘事件 Add event listener to table table setOnKeyTyped event gt TablePosition
  • python 打印所有函数调用以了解脚本流程

    如何打印每个函数 方法调用 我尝试过使用 python m trace trace但它也打印函数内部代码 我只想要被调用的函数名称 在代码中使用回溯会打印调用命令本身之前调用的最后一个函数 并且代码包含许多类 你可能会发现 l useful
  • Ruby 中的 __FILE__ 是什么意思?

    我在 Ruby 中经常看到这样的情况 require File dirname FILE config environment 什么是 FILE mean 它是对当前文件名的引用 在文件中foo rb FILE 将被解释为 foo rb E
  • ASP.Net MVC ActionFilterAttributes 排序全局与本地

    我想知道 ActionFilterAttribute 属性的执行是否有顺序 我猜测本地的 在控制器的操作上定义的 ActionFilterAttribute 正在按照在操作上定义的顺序执行 然而 有人不知道全局过滤器是否先于本地过滤器应用
  • 仅在登录页面设置 SSL 页面

    我想仅为登录页面设置 SSL 页面 我该怎么做 我参考这篇文章 http weblogs asp net scottgu archive 2007 04 06 tip trick enabling ssl on iis7 using sel
  • python qt,在另一个小部件(声子)上方显示文本/标签

    我正在使用 PySide 制作一个视频播放器 它是与 Qt 框架的 python 绑定 我正在使用声子 一个模块 来显示视频 我想在视频上方显示文本作为字幕 如何在我的声子小部件上方放置另一个小部件 opengl 是一个选项吗 如果您只是创
  • 如何对 google LatLng 对象进行字符串化?

    我正在使用谷歌地图 API 并尝试对点数组进行字符串化 每个点都有纬度和经度 我想要做的是将数据字符串化并将其存储在数据库中 以便以后检索 问题是 由于谷歌地图存储和使用数据的方式 结果JSON stringify有时是奇怪的随机 例如 有
  • 使用分号和大括号的 C# 命名空间声明有什么区别?

    我注意到 C 中命名空间声明的两种不同方法 namespace FirstProgram and namespace FirstProgram 我正在寻找有关 C 中两种类型的命名空间声明的主要区别和用途的信息 示例 带有分号 namesp
  • Ajax 将文件从浏览器上传到 FTP 服务器

    是否可以使用ajax将文件从浏览器上传到FTP服务器 不可以 浏览器不提供允许从 JavaScript 写入 FTP 的 API 你可以将文件发布到 HTTP 端点然后使用服务器端代码将其推送到您的 FTP 服务器
  • 测量 Angular 中 svg 元素的尺寸

    我正在尝试使用 SVG 在 Angular 中创建一个类似仪表的组件来绘制形状 我想将文本放在矩形内居中 文本将根据仪表的值而变化 因此 我想调整字体大小以使该值适合矩形 或者 我可以调整数字格式 例如 如果字符串太长 则使用科学记数法 使
  • 使用 svndumpfilter 包含多个文件夹

    我在服务器中创建了一个名为 allProjects 的存储库 以下是 allProjects 结构 所有项目 Projects projectA projectB projectC projectD projectE 现在我正在尝试创建另一
  • 当 ASP.NET 5 (vNext) 无法重定向绑定时我该怎么办?

    我刚刚接触 MVC 6 我安装了 VS 2015 并使用默认设置ASP NET 5 preview MVC Web Application模板在本地 IIS 下一切运行良好 然后我尝试使用以下命令切换默认 DI 容器StructureMap
  • 如何访问输出阶段的 Mapper/Reducer 计数器?

    我在 Mapper 类中创建了一些计数器 使用 appengine mapreduce Java 库 v 0 5 编写的示例 Override public void map Entity entity getContext increme