Apache Pig中一个非常常见的错误消息是:
错误1066:无法打开别名的迭代器
有几个问题提到了这个错误,但没有一个提供处理它的通用方法.因此这个问题:
当你收到错误1066时该怎么办:无法打开别名的迭代器?
消息"ERROR 1066:无法为别名myAlias打开迭代器"表示在使用myAlias的行中出现了问题.
但是,如果在尝试使用此别名之前出现问题,通常会看到此错误.所以要做的第一件事是沿着错误消息进一步查找,看看这是否真的是引发的第一个错误.
当我没有轻易发现之前的错误时,我发现这是一种处理此错误的有效方法:
在第一次定义别名之前,直到运行代码.
仔细看,你是否看到任何提到ERROR(通常是在最后一行,但有时这可能会更早发生)
到现在为止你可能有一个错误,如果是这样的话:处理它并转到1.
在遇到别名之前,您可能没有错误,在这种情况下,请评估别名发生的行.
如果发生错误:处理它并转到4; 如果没有发生错误,请在第二次使用别名之前运行代码,然后转到3.
笔记
要逐行轻松运行PIG代码:在命令行上打开pig(只需键入pig
或pig -useHCatalog
举例)
如果您感到困惑,请确保只定义一次别名.(我相信这是一般的好习惯)