错误1066:无法在Pig,Generic解决方案中打开别名的迭代器
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了错误1066:无法在Pig,Generic解决方案中打开别名的迭代器相关的知识,希望对你有一定的参考价值。
Apache Pig中一个非常常见的错误消息是:
错误1066:无法打开别名的迭代器
有几个问题提到了这个错误,但没有一个提供处理它的通用方法。因此这个问题:
当你收到错误1066时该怎么办:无法打开别名的迭代器?
答案
消息“ERROR 1066:无法为别名myAlias打开迭代器”表示在使用myAlias的行中出现了问题。
但是,如果在尝试使用此别名之前出现问题,通常会看到此错误。所以要做的第一件事是沿着错误消息进一步查找,看看这是否真的是引发的第一个错误。
当我没有轻易发现之前的错误时,我发现这是一种处理此错误的有效方法:
- 在第一次定义别名之前,直到运行代码。
- 仔细看,你是否看到任何提到ERROR(通常是在最后一行,但有时这可能会更早发生)
- 到现在为止你可能有一个错误,如果是这样的话:处理它并转到1。
- 在遇到别名之前,您可能没有错误,在这种情况下,请评估别名发生的行。
- 如果发生错误:处理它并转到4;如果没有发生错误,请在第二次使用别名之前运行代码,然后转到3。
笔记:
- 要逐行轻松运行PIG代码:在命令行上打开pig(例如,输入
pig
orpig -useHCatalog
) - 如果您感到困惑,请确保只定义一次别名。 (我相信这是一般的好习惯)
另一答案
我曾经在使用SUM函数时收到此错误。我总结了其中包含空值的值。过滤掉前面行中的空值后,它可以正常工作。
以上是关于错误1066:无法在Pig,Generic解决方案中打开别名的迭代器的主要内容,如果未能解决你的问题,请参考以下文章
错误 1066:无法打开别名的迭代器 - PIG SCRIPT