Il messaggio "ERRORE 1066: impossibile aprire iteratore per alias myAlias" suggerisce che c'è qualcosa che non va nella riga in cui si utilizza myAlias.
Tuttavia, in genere si vedrà questo errore se qualcosa è andato storto PRIMA di provare a usare questo alias. Quindi la prima cosa da fare è guardare oltre il messaggio di errore e vedere se questo è veramente il primo errore che viene lanciato.
Ecco quello che ho trovato per essere un modo efficace per affrontare questo errore quando non ho facilmente posto un errore precedente:
- Eseguire il codice di untill appena prima di definire il primo l'alias.
- Guarda attentamente se vedi ERRORI (spesso è nell'ultima riga, ma a volte può succedere prima)
- A questo punto probabilmente hai un errore, in tal caso: gestiscilo e vai a 1
- È possibile che non si verifichi un errore prima di incontrare l'alias, in questo caso valutare la riga in cui si verifica l'alias.
- Se si verifica l'errore: gestirlo e passare a 4; Se non si verificano errori eseguire il codice fino a poco prima di utilizzare l'alias per la seconda volta, e andare a 3.
Note
- Per eseguire facilmente codice riga per riga PIG: Aprire maiale sulla riga di comando (Digitare semplicemente
pig
o pig -useHCatalog
per esempio)
- Se si ottiene confusione, assicurarsi di definire l'alias una sola volta. (Credo che questa sia una buona pratica in generale)
fonte
2015-12-28 14:09:25
Questo intende essere un approccio generico per il messaggio di errore, in quanto tali commenti/miglioramenti sono molto graditi! –