猿问

错误1066:无法在Pig中为别名打开迭代器,泛型解决方案

错误1066:无法在Pig中为别名打开迭代器,泛型解决方案

Apache Pig中一个非常常见的错误消息是:

错误1066:无法打开别名的迭代器

在提到此错误时,有几个问题,但没有一个问题给出了处理该错误的通用方法。因此,这个问题:

当您得到一个错误1066:无法打开别名迭代器怎么办?


牛魔王的故事
浏览 755回答 2
2回答

喵喔喔

消息“Error 1066:无法打开别名myAlias的迭代器”表明,在使用myAlias的行中出现了问题。但是,通常情况下,如果在尝试使用此别名之前出错,您将看到此错误。因此,首先要做的是进一步查找错误消息,并查看这是否是抛出的第一个错误。下面是我发现的处理此错误的有效方法,因为我不容易发现早期的错误:在第一次定义别名之前运行代码。仔细观察,您是否看到任何提到错误的地方(通常是在最后一行,但有时这种情况可能会更早发生)现在您可能有一个错误,如果是这样的话:处理它并转到1。在遇到别名之前,有可能没有错误,在本例中,请计算别名发生的行。如果发生错误:处理它并转到4;如果没有发生错误,运行代码直到您第二次使用别名之前,然后转到3。注:要方便地逐行运行猪代码:在命令行上打开Pig(只需键入pig或pig -useHCatalog例如)如果您感到困惑,请确保您只定义了一次别名。(我相信这是一般的良好做法)

一只萌萌小番薯

我曾经在使用SUM函数时收到这个错误。我在总结其中有空的值。过滤掉前一行中的空值后,它就正常工作了。
随时随地看视频慕课网APP
我要回答