我正在经历一个poc,在这个poc中,我需要为我的mapper编写mrunit测试用例,它使用一个输入格式作为hcatalog
public class MapClass extends
Mapper<WritableComparable, HCatRecord, Text, Text> {
但我在这些代码行中遇到了问题
HCatRecord record = new HCatRecord();
record.set(0, "0");
record.set(1, "0");
mapDriver.withInput(new LongWritable(), record)
.withOutput(new Text("sunday"), new Text(""))
.runTest();
错误::mapdriver.withinput(new longwritable(),record)抛出java.lang.runtimeexception:java.lang.nosuchmethodexception:com.mrscoringunittest$1。()
1条答案
按热度按时间khbbv19g1#
许多自定义文件输入/输出格式不适用于mrunit。即使hcatinputformat也不适用于mrunit。hcatlogapi需要一个工作的hive元存储来通过mapreduce访问表。
当您的代码有任何自定义的map-reduce组件(如比较器、分区器或输入/输出格式)时,mrunit不能用于单元测试。
微型集群可用于测试相同的功能。
https://github.com/apache/hcatalog/blob/branch-0.1/src/test/org/apache/hcatalog/mapreduce/hcatmapreducetest.java