MapReduce 测试与 SQL on Hadoop 技术
1. MapReduce 测试工具
在 MapReduce 开发中,有多种测试工具可供使用,每种工具都有其特点和适用场景。
1.1 MRUnit
MRUnit 是一个轻量级的单元测试库,但存在一些局限性:
- 未与提供丰富错误报告功能的单元测试框架集成,不利于快速确定错误。
- 管道测试仅适用于旧的 MapReduce API,使用新 API 的代码无法用管道测试。
- 不支持测试数据序列化,以及 InputFormat、RecordReader、OutputFormat 或 RecordWriter 类。
不过,MRUnit 也有其优势,它可以在单个 map 和 reduce 函数的粒度上进行测试,还能测试 MapReduce 作业的管道。而且由于跳过了 InputFormat 和 OutputFormat 步骤,单元测试执行速度较快。
1.2 LocalJobRunner
当需要测试整个 Hadoop 栈时,可以使用 Hadoop 中的 LocalJobRunner 类。
问题 :想在单元测试中测试整个 Hadoop 栈。
解决方案 :使用 LocalJobRunner 类扩展测试覆盖范围,包括处理作业输入和输出的相关代码。
以下是使用 LocalJobRunner 测试 MapReduce 作业的示例代码:
publ
超级会员免费看
订阅专栏 解锁全文
9037

被折叠的 条评论
为什么被折叠?



