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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了错误1066:无法在Pig,Generic解决方案中打开别名的迭代器相关的知识,希望对你有一定的参考价值。

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

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

有几个问题提到了这个错误,但没有一个提供处理它的通用方法。因此这个问题:

当你收到错误1066时该怎么办:无法打开别名的迭代器?

答案

消息“ERROR 1066:无法为别名myAlias打开迭代器”表示在使用myAlias的行中出现了问题。

但是,如果在尝试使用此别名之前出现问题,通常会看到此错误。所以要做的第一件事是沿着错误消息进一步查找,看看这是否真的是引发的第一个错误。

当我没有轻易发现之前的错误时,我发现这是一种处理此错误的有效方法:

  1. 在第一次定义别名之前,直到运行代码。
  2. 仔细看,你是否看到任何提到ERROR(通常是在最后一行,但有时这可能会更早发生)
  3. 到现在为止你可能有一个错误,如果是这样的话:处理它并转到1。
  4. 在遇到别名之前,您可能没有错误,在这种情况下,请评估别名发生的行。
  5. 如果发生错误:处理它并转到4;如果没有发生错误,请在第二次使用别名之前运行代码,然后转到3。

笔记:

  • 要逐行轻松运行PIG代码:在命令行上打开pig(例如,输入pigor pig -useHCatalog
  • 如果您感到困惑,请确保只定义一次别名。 (我相信这是一般的好习惯)
另一答案

我曾经在使用SUM函数时收到此错误。我总结了其中包含空值的值。过滤掉前面行中的空值后,它可以正常工作。

以上是关于错误1066:无法在Pig,Generic解决方案中打开别名的迭代器的主要内容,如果未能解决你的问题,请参考以下文章

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

Java中的Pig UDF:错误---错误1066:无法打开别名的迭代器

迭代连接集后的 PIG 错误 1066。

Apache Pig 和用户定义函数

ERROR 1066:无法打开别名结果的迭代器

错误代码:1066。不是唯一的表/别名:'ordertbl' - 无法执行内部连接 ​​MYSQL