错误1066:无法在Pig,通用解决scheme中打开别名的迭代器

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

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

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

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

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

但是,如果出现错误,通常您会看到此错误。在尝试使用此别名之前,您将看到此错误。 所以首先要做的是沿着错误信息进一步查看,看看这是否是第一个被抛出的错误。

当我不容易发现一个较早的错误时,我发现这是一个处理这个错误的有效方法:

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

笔记

  • 要轻松地逐行运行PIG代码,请执行以下操作:在命令行上打开猪(例如,只需键入pigpig -useHCatalog
  • 如果您感到困惑,请确保您只定义一次别名。 (我相信这是一般的良好做法)