为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

牛魔王的故事 2019-06-06 16:06:31
错误1066:无法在Pig中为别名打开迭代器,泛型解决方案Apache Pig中一个非常常见的错误消息是:错误1066:无法打开别名的迭代器在提到此错误时,有几个问题,但没有一个问题给出了处理该错误的通用方法。因此,这个问题:当您得到一个错误1066:无法打开别名迭代器怎么办?
查看完整描述

2 回答

?
喵喔喔

TA贡献1735条经验 获得超5个赞

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

但是,通常情况下,如果在尝试使用此别名之前出错,您将看到此错误。因此,首先要做的是进一步查找错误消息,并查看这是否是抛出的第一个错误。

下面是我发现的处理此错误的有效方法,因为我不容易发现早期的错误:

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

注:

  • 要方便地逐行运行猪代码:在命令行上打开Pig(只需键入

    pig

    pig -useHCatalog

    例如)
  • 如果您感到困惑,请确保您只定义了一次别名。(我相信这是一般的良好做法)


查看完整回答
反对 回复 2019-06-06
?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

我曾经在使用SUM函数时收到这个错误。我在总结其中有空的值。过滤掉前一行中的空值后,它就正常工作了。


查看完整回答
反对 回复 2019-06-06
  • 2 回答
  • 0 关注
  • 754 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信