在没有太多有用信息的情况下发生的典型Pig错误如下:
Job in state DEFINE instead of RUNNING
经常在这样的一行中找到:
Caused by: java.lang.IllegalStateException: Job in state DEFINE instead of RUNNING
我已经看到了这个错误的一些例子,但是希望有这个问题的通用解决方案。
答案 0 :(得分:1)
到目前为止,在我遇到此错误的每个场合,都是因为Pig无法加载文件。问题中的错误会打印到 stderr 日志中,您在那里找不到任何有用的内容。
但是,如果你要查看 stdout 日志,你会发现以下内容:
Message: org.apache.pig.backend.executionengine.ExecException: ERROR 2118: Input Pattern hdfs://x.x.x.x:x/locationOnHDFS/* matches 0 files
通常接着是:
Caused by: org.apache.hadoop.mapreduce.lib.input.InvalidInputException: Input Pattern hdfs://x.x.x.x:x/locationOnHDFS/* matches 0 files
此时最可能的嫌疑人是:
请注意,如果您尝试读取空目录(而不是仅使用0行处理别名),则会出现一个众所周知的难题,即猪会出错。