pig:outputschema异常

jtoj6r0c  于 2021-06-21  发布在  Pig
关注(0)|答案(1)|浏览(264)

我将outputschema定义如下

public class Upper extends EvalFunc<Tuple> {

    public Schema outputSchema(Schema schema) {

       if(schema.size() < 2) {
            log.info("--------------------Expecting two inputs.------------------------");
             throw new RuntimeException("Expecting at least two inputs.");
        }
        .....
    }
}

当我在代码中使用这个evalfunc时,如下所示

gen = foreach data generate upper(*);

Pig正在抛出异常

2016-12-08 14:57:58,743 [main] ERROR org.apache.pig.PigServer - exception during parsing: Error during parsing. NULL Schema
Failed to parse: NULL Schema
at org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:201)
at org.apache.pig.PigServer$Graph.parseQuery(PigServer.java:1735)
at org.apache.pig.PigServer$Graph.access$000(PigServer.java:1443)
at org.apache.pig.PigServer.parseAndBuild(PigServer.java:387)
at org.apache.pig.PigServer.executeBatch(PigServer.java:412)
at org.apache.pig.PigServer.executeBatch(PigServer.java:398)
at org.apache.pig.tools.grunt.GruntParser.executeBatch(GruntParser.java:171)
at org.apache.pig.tools.grunt.GruntParser.processDump(GruntParser.java:749)
at org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:376)

我不确定,当我传递整行时,pig如何将此视为空模式。

mzsu5hc0

mzsu5hc01#

我不认为问题出在eval函数本身。从stacktrace中可以看出,您的函数甚至没有被调用。你能提供完整的Pig脚本吗?我很肯定问题就在上面

相关问题