hcatrecord中的错误

qyyhg6bp  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(322)

我正在经历一个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。()

khbbv19g

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

相关问题