java - 在低级别对 Hadoop 作业进行基准测试

标签 java hadoop benchmarking low-level

我必须记录几个基准变量。不幸的是,一些变量需要我在 hadoop 代码中执行测量(map()、reduce()、InputFormat 等)。我想知道什么是“正确”的方法。我可以使用全局变量来存储我的基准变量并在 Tool.run() 完成之前转储它们,但我认为有更好的方法可以做到这一点。有没有人知道该怎么做,或者有任何想法?

更新

由于某些限制,基准代码必须嵌入到 hadoop 中。我有一个“测试器”应用程序,它运行许多 hadoop 作业并收集基准测试结果。这个想法是在单个“测试器”运行中运行作业并从作业执行中收集基准数据。

最佳答案

没有什么能阻止您独立于 MapReduce 对这些方法进行基准测试。 M/R 并不神奇 - 只是一个 JVM 为您在服务器上运行一些代码。

我们始终针对各个 Map 和 Reduce 函数运行 JUnit 测试。对它们进行分析并没有本质上的不同。

关于java - 在低级别对 Hadoop 作业进行基准测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9381900/

相关文章:

java - HTML 和 Java 初学者网站创建

java - Maven多模块项目版本管理

java - 迁移到 JBOSS 6.2 时出现问题 - 应用程序必须提供 JDBC 连接

mysql - SQL 查询基准测试

java - jsp过滤器,获取页面名称

java - Hadoop一台机器仅运行一项任务

hadoop - sqoop:如何从 mySql 获取增量更新

hadoop - 将多个 Hive 表合并为 Hadoop 中的单个表

database - 如何在 go 中编写长时间运行的请求?

node.js - Socket.IO 超出最大调用堆栈大小