10

Apache Pig の非常に一般的なエラー メッセージは次のとおりです。

エラー 1066: エイリアスの反復子を開けません

このエラーについて言及されているいくつかの質問がありますが、それらのどれもそれを処理するための一般的なアプローチを示していません. したがって、この質問:

エラー 1066: Unable to open iterator for alias が表示された場合の対処方法

4

3 に答える 3

6

「エラー 1066: エイリアス myAlias のイテレータを開けません」というメッセージは、myAlias を使用する行で問題が発生していることを示しています。

ただし、通常、このエイリアスを使用する前に問題が発生すると、このエラーが表示されます。したがって、最初にすべきことは、エラー メッセージをさらに詳しく調べて、これが本当にスローされた最初のエラーであるかどうかを確認することです。

以前のエラーを簡単に見つけられなかったときに、このエラーに対処する効率的な方法であることがわかったのは次のとおりです。

  1. 最初にエイリアスを定義する直前までコードを実行します。
  2. ERROR について言及されているかどうかを注意深く確認してください (多くの場合、最後の行にありますが、それより前に発生することもあります)。
  3. ここまでで、エラーが発生した可能性があります。エラーが発生した場合は、対処して 1 に進みます。
  4. エイリアスが発生する前にエラーが発生していない可能性があります。この場合、エイリアスが発生する行を評価します。
  5. エラーが発生した場合: 処理して 4 に進みます。エラーが発生しない場合は、エイリアスを 2 回目に使用する直前までコードを実行し、3 に進みます。

ノート:

  • PIG コードを 1 行ずつ簡単に実行するには: コマンド ラインで pig を開きます (単純に入力pigするかpig -useHCatalog、たとえば)。
  • 混乱した場合は、エイリアスを一度だけ定義してください。(これは一般的に良い習慣だと思います)
于 2015-12-28T14:09:25.870 に答える