apache pig中一个非常常见的错误消息是:错误1066:无法打开别名的迭代器有几个问题提到了这个错误,但没有一个给出一个通用的方法来处理它。因此这个问题:出现错误1066:无法打开alias的迭代器时该怎么办?
5sxhfpxr1#
消息“error 1066:unable to open iterator for alias myalias”表明使用myalias的行中出现了错误。但是,如果在尝试使用此别名之前出现问题,通常会看到此错误。所以首先要做的是沿着错误消息进一步查找,看看这是否真的是抛出的第一个错误。以下是我发现的处理此错误的有效方法,当我不容易发现以前的错误时:在您第一次定义别名之前,运行代码直到结束。仔细看,是否有提到错误(通常是在最后一行,但有时可能更早发生)到现在为止,您可能有一个错误,如果有:请处理它并转到1。可能在遇到别名之前没有错误,在本例中,请计算出现别名的行。如果出现错误:处理并转到4;如果没有发生错误,请在第二次使用别名之前运行代码,然后转到3。笔记:要轻松地逐行运行pig代码:在命令行上打开pig(只需键入 pig 或者 pig -useHCatalog (例如)如果感到困惑,请确保只定义一次别名(我相信这是一个好的做法(一般来说)
pig
pig -useHCatalog
bwleehnv2#
我曾经在使用sum函数时收到这个错误。我对其中有空值的值求和。在过滤掉前面几行中的空值之后,它工作正常。
2条答案
按热度按时间5sxhfpxr1#
消息“error 1066:unable to open iterator for alias myalias”表明使用myalias的行中出现了错误。
但是,如果在尝试使用此别名之前出现问题,通常会看到此错误。所以首先要做的是沿着错误消息进一步查找,看看这是否真的是抛出的第一个错误。
以下是我发现的处理此错误的有效方法,当我不容易发现以前的错误时:
在您第一次定义别名之前,运行代码直到结束。
仔细看,是否有提到错误(通常是在最后一行,但有时可能更早发生)
到现在为止,您可能有一个错误,如果有:请处理它并转到1。
可能在遇到别名之前没有错误,在本例中,请计算出现别名的行。
如果出现错误:处理并转到4;如果没有发生错误,请在第二次使用别名之前运行代码,然后转到3。
笔记:
要轻松地逐行运行pig代码:在命令行上打开pig(只需键入
pig
或者pig -useHCatalog
(例如)如果感到困惑,请确保只定义一次别名(我相信这是一个好的做法(一般来说)
bwleehnv2#
我曾经在使用sum函数时收到这个错误。我对其中有空值的值求和。在过滤掉前面几行中的空值之后,它工作正常。