如何通过 API 访问 Hadoop 计数器值?

2023-12-01

在 Hadoop 中,我们可以在 Map/Reduce 任务中递增计数器,如下所示:

...
context.getCounter(MyCountersEnum.SomeCounter).increment(1);
...

您可以在日志中找到它们的值。

作业完成后如何从代码访问它们?

读取计数器值的 Hadoop API 是什么?


计数器代表全局计数器,由 Map-Reduce 框架或应用程序定义。

每个计数器可以是任何枚举类型。 您可以在 Driver 类中将计数器定义为枚举

static enum UpdateCount{
  CNT
 }

然后增加map/reduce任务中的计数器

public class CntReducer extends Reducer<IntWritable, Text, IntWritable, Text>{
 public void reduce(IntWritable key,Iterable<Text> values,Context context)  {
      //do something
      context.getCounter(UpdateCount.CNT).increment(1);
 }
}

并在 Driver 类中访问它们

public int run(String[] args) throws Exception {
 .
 .
 .
 job.setInputFormatClass(TextInputFormat.class);
 job.setOutputFormatClass(TextOutputFormat.class);
 FileInputFormat.setInputPaths(job,in );
 FileOutputFormat.setOutputPath(job, out);
 job.waitForCompletion(true);
 c = job.getCounters().findCounter(UpdateCount.CNT).getValue();
 //Print "c"
 }
}

c给出计数器值。

你可以找个例子here

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

如何通过 API 访问 Hadoop 计数器值? 的相关文章

  • 如何获取枚举的子集

    大多数情况下 包含所有元素的枚举显示在用户界面的下拉列表中 我们只需要在用户界面中显示 5 个字段中的 2 个 通过某种方式利用可用于枚举的相同函数来获取此数据的更简单方法是什么 enum Color RED GREEN BLACK BLU
  • 不同的 JDK 更新会产生不同的 Java 字节码吗?

    假设场景 我有一个项目 其源合规性级别指定为 1 5 现在 我使用两种不同的 JDK 编译此项目 首先使用 JDK 6 Update 7 然后使用 JDK 6 Update 20 这两个不同的 JDK 是否会生成不同的 Java 字节代码
  • 按下按钮时清除编辑文本焦点并隐藏键盘

    我正在制作一个带有编辑文本和按钮的应用程序 当我在 edittext 中输入内容然后单击按钮时 我希望键盘和焦点在 edittext 上消失 但我似乎无法做到这一点 我在 XML 中插入了这两行代码 android focusable tr
  • 使用 xuggle 将 mp3 转换为 wav 出现异常

    我正在尝试将 mp3 转换为 wav 代码在这里 String mp3 F work pic2talk38512 mp3 String wav F work pic2talk38512 wav TranscodeAudioAndVideo
  • 适用于 Solaris 的 Java 8 中缺少 javaws

    看起来 Oracle 从 Java 8 for Solaris 中删除了 Java Web Start javaws 在 Java 8u51 中不再可用 来自兼容性指南 http www oracle com technetwork jav
  • DateTimeFormatter.parseLocalDate 抛出 UnsupportedOperationException

    该API用于解析本地日期 http joda time sourceforge net apidocs org joda time format DateTimeFormatter html parseLocalDate 28java la
  • 将多个视频文件合并到一个文件中

    我有多个以相同帧速率和分辨率录制的视频 我想将两个视频合并为一个视频 因此结果文件将是大视频 我正在使用 MP4 解析器 api 并使用下面的代码 Movie countVideo new MovieCreator build Channe
  • perl 和 java 正则表达式功能之间有什么区别?

    perl 和 java 在支持哪些正则表达式术语方面有什么区别 这个问题仅涉及正则表达式 并且特别排除了how可以使用正则表达式 即使用正则表达式的可用函数 方法 以及语言之间的语法差异 例如java要求转义反斜杠等 特别令人感兴趣的是 j
  • 驱动程序信息:driver.version:未知,使用 ChromeDriver v78.0.3904.70 和 Chrome 浏览器 v78.0.3904.97

    我使用的是java 1 8和chrome浏览器版本78 0 3904 97 我正在尝试使用 chrome 驱动程序版本执行我的 selenium 脚本代码78 0 3904 70 但在执行时我面临以下问题并且 chrome 立即崩溃 Pic
  • Java中无参数的for循环

    我在看别人的代码 发现了这段代码 for 我不是 Java 专家 这行代码在做什么 起初 我认为这会创建一个无限循环 但在该程序员使用的同一个类中 while true 其中 如果我错了 请纠正我 是一个无限循环 这两个相同吗 为什么有人会
  • java Runtime.getRunTime().exec 和通配符?

    我正在尝试使用删除垃圾文件 Process p Runtime getRuntime exec 只要我不使用通配符 它 就可以正常工作 即 Process p Runtime getRuntime exec bin rm f specifi
  • java 1.8下无法启动eclipse

    java 1 8 升级后我无法启动 eclipse 附上错误截图 这是我的 eclipse 配置设置 我该如何解决 startup plugins org eclipse equinox launcher 1 3 0 v20120522 1
  • 设置 JAVA_HOME 变量时出现问题

    所以我刚刚下载了 Android Studio 并尝试设置 JAVA HOME 变量以便我可以运行它 我使用的是 Windows 8 并按照我找到的所有说明进行操作 但无济于事 转到高级系统设置 gt 环境变量 然后使用包含我的 jre7
  • 链表中的虚拟节点

    问 什么时候使用它们 作业问题 列表中的第一个和最后一个节点 有时用作列表中的第一个和最后一个节点 从未用作列表中的第一个和最后一个节点 维基百科说 哨兵节点是与链接一起使用的专门指定的节点 列表和树作为遍历路径终止符 哨兵节点的作用是 不
  • Storm Spout 未收到 Ack

    我已经开始使用storm 所以我使用创建简单的拓扑本教程 https github com nathanmarz storm wiki Tutorial 当我运行我的拓扑时LocalCluster一切看起来都很好 我的问题是我没有得到元组的
  • Java 相当于 Python 的 urllib.urlencode(基于 HashMap 的 UrlEncode)

    From https stackoverflow com questions 2018026 should i use urllib or urllib2 2018103 2018103 Java 中 Python 的 urllib url
  • Python 可以替代 Java 小程序吗?

    除了制作用于物理模拟 如抛射运动 重力等 的教育性 Java 小程序之外 还有其他选择吗 如果你想让它在浏览器中运行 你可以使用PyJamas http pyjs org 这是一个 Python 到 Javascript 的编译器和工具集
  • spring data jpa 过滤 @OneToMany 中的子项

    我有一个员工测试实体是父实体并且FunGroup信息子实体 这两个实体都是通过employeeId映射 我需要一种方法来过滤掉与搜索条件匹配的子实体 以便结果仅包含父实体和子实体 满足要求 员工测试类 Entity name Employe
  • 如何在 Servlet 中打开弹出窗口,然后重定向页面

    我想在调用 servlet 时打开一个弹出窗口 然后想将 servlet 重定向到某个 jsp page 这就是我所做的 protected void doGet HttpServletRequest request HttpServlet
  • 使用字符串数组在 Hive 表上加载 CSV 文件

    我正在尝试将 CSV 文件插入 Hive 其中一个字段是 string 数组 这是 CSV 文件 48 Snacks that Power Up Weight Loss Aidan B Prince Health Fitness Trave

随机推荐

  • Python获取文件名并更改并将其保存在变量中

    我正在关注需要一个最小的 Django 文件上传示例 在view py中有 newdoc Document docfile request FILES docfile newdoc save 假设我上传文件xyz csv这使得 newdoc
  • C# 中的 UTF8(引用的可打印)转换问题

    我正在从邮箱中提取法语电子邮件 并且这些电子邮件包含重音符号 我相信它使用UTF8编码 我尝试过在互联网上找到的不同 UTF8 转换方法 但均不成功 例如 在 C 中 如何将 Montr C3 A9al 转换为 Montr al 编辑 此外
  • 我的 ViewBag 无法工作有什么原因吗?

    我有以下ActionResult in a controller你可以看到我在ViewBag如果成功的话 然后在View如果它不为空 它应该输出该消息 但是 我无法显示该消息 也没有看到问题所在 HttpPost public Action
  • C# 从 gridview asp net 中的下拉列表中获取选定值

    每当网格视图中的下拉列表的值发生更改时 如何更改文本框的值 页面加载时 文本框显示所选值 但是当我更改下拉列表的选择时 文本框值不会更改 代码如下
  • 在 android level 17 (4.2.2) 之前将数据传递给 webview 中的 javascript

    我正在开发一些从 android 调用的 javascript 图表库 了解 JavascriptInterface 仅在 Android API Level 17 4 2 2 之后可用 http developer android com
  • Eclipse 查找哪些文件引用了这个 jar

    我们有很多罐子 这些罐子是多年来添加到项目中的 但它们的使用情况尚未在任何地方记录 我想找出 java 或 jsp 文件中 jar 中任何类的引用 现在 对于我们的新 jars 我们没有这个问题 因为我们使用 Maven 它可以帮助我们更好
  • Excel VBA - 应用自动过滤器并按特定颜色排序

    我有一个自动过滤的数据范围 自动过滤器是由以下 VB 代码创建的 Sub Colour filter Range A4 Select Range Selection Selection End xlToRight Select Range
  • 如何给出有空间的枚举值

    我必须创建一个包含有空格的值的枚举 public enum MyEnum My cart Selected items Bill 这是给出错误 使用连接词 如MyCart或使用下划线My Cart不是一个选择 请指导 提前致谢 From 枚
  • PyMC3 Dirichlet 过程多元高斯混合模型

    我无法让我的形状适用于狄利克雷过程高斯混合模型 我的数据observations有形状 number of samples number of dimensions 每个高斯均值应从各向同性先验中得出 每个高斯协方差应为单位矩阵 我以为我设
  • mongodb 中单个查询的多个计数

    我是 Mongo Db 的新手 希望获得有关此查询的帮助 在过去的几天里 我一直在筛选这里的帖子 撕扯着我的头发 看看是否能找到与我的查询相关的任何内容 但没有运气 我有一个结构类似于以下文档的集合 id xyz Movieid 123 M
  • 使用 leiningen 时出现 ExceptionInInitializerError

    我是一个刚开始使用 Clojure 和 Leiningen 的初学者 在尝试使用各种 lein 命令时遇到了问题 虽然 lein deps工作正常 当我尝试使用时 lein plugin install
  • 当密码包含特殊字符时,“用户访问被拒绝”[重复]

    这个问题在这里已经有答案了 我几天来一直在搜索 SO 和网络 试图解决这个问题 SO 有很多类似的问题 但它们似乎都不是我目前正在处理的同一问题 我正在尝试使用 python 连接到远程 MySQL 数据库 以使用 pandas to sq
  • 为什么Python不使用^来表示数字的平方而是使用**来表示? [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我见过的一些语言使用了 符号 并且它似乎没有为 Python 中的任何东西保留 这也让我感到困惑 因为 符号 非常 众所周知 Python 应该很容易使用 但使用 这有什么合乎逻辑的
  • java中的对象排序

    我想做嵌套排序 我有一个课程对象 其中有一组应用程序 应用程序具有时间和优先级等属性 现在我想首先根据优先级对它们进行排序 在优先级内我想按时间对它们进行排序 例如 给定此类 公共字段仅为了简洁起见 public class Job pub
  • 制作 X 与 Y 的图表

    我在 x 中有一些点 在 y 中有其他点 我正在尝试制作一个如图所示的图表 我希望创建的图表的点可以连接起来 在 c3 js 中 我不知道如何绘制 X 与 Y 的关系 我怎样才能实现像我的照片这样的效果 https jsfiddle net
  • pip 无法正确解决子/孙依赖关系

    我有一个模块的依赖关系树 其工作原理如下 表示依赖关系 a b c b ruamel yaml gt 0 16 5 c ruamel yaml lt 0 16 6 gt 0 12 4 我很清楚 ruamel yaml0 16 5将正确解决这
  • 如何轻松处理方向变化

    我正在开发一个以编程方式添加每个视图的 Android 应用程序 当用户转动屏幕时 我只想再次显示填写的值 有没有一种简单的方法让 Android 自动执行此操作 我的应用程序是完全动态的 因此它没有预定的布局 这使得它变得更加困难 那么
  • 为什么我们需要“nil”?

    我不明白为什么我们需要nil 1 何时cons项目序列 所谓的正确列表 在我看来 我们可以通过使用所谓的不正确列表来实现相同的目标 cons ed 对没有结尾nil 独自的 由于 Lisps 2 已经提供了一个原始过程来区分pair 和一个
  • 获取列表视图默认单击颜色,具体取决于设备

    在我的 Android 应用程序中 我使用列表视图和一些用户可以单击的线性布局 当然 我必须将 LinearLayout 的背景设置为 xml 文件 其中定义了所声明的按下 选择的内容 myView setBackgroundDrawabl
  • 如何通过 API 访问 Hadoop 计数器值?

    在 Hadoop 中 我们可以在 Map Reduce 任务中递增计数器 如下所示 context getCounter MyCountersEnum SomeCounter increment 1 您可以在日志中找到它们的值 作业完成后如