ERROR 1066: No se puede abrir el iterador para el alias - Pig
Frecuentes
Visto 28,406 veces
8
Acabo de empezar Cerdo; tratando de cargar los datos de un archivo y volcarlo de ahora en adelante. La carga parece ser correcta, no se arroja ningún error. A continuación se muestra la consulta:
NYSE = LOAD '/root/Desktop/Works/NYSE-2000-2001.tsv' UTILIZANDO PigStorage() COMO (exchange:chararray, stock_symbol:chararray, date:chararray, stock_price_open:float, stock_price_high:float, stock_price_low:float, stock_price_close :float, stock_volume:int, stock_price_adj_close:float);
Cuando trato de hacer el volcado, arroja el siguiente error:
Seguimiento de pila de cerdo
ERROR 1066: No se puede abrir el iterador para el alias NYSE org.apache.pig.impl.logicalLayer.FrontendException: ERROR 1066: No se puede abrir el iterador para el alias NYSE en org.apache.pig.PigServer.openIterator(PigServer.java:857) en org.apache.pig.tools.grunt.GruntParser.processDump(GruntParser.java:682) en org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:303) en org.apache.pig. tools.grunt.GruntParser.parseStopOnError(GruntParser.java:189) en org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:165) en org.apache.pig.tools.grunt.Grunt.run( Grunt.java:69) en org.apache.pig.Main.run(Main.java:490) en org.apache.pig.Main.main(Main.java:111) Causado por: java.io.IOException: Trabajo terminó con un estado anómalo FALLIDO en org.apache.pig.PigServer.openIterator(PigServer.java:849)"
¿Alguna idea de qué está causando el problema?
4 Respuestas
4
¿Está ejecutando un jar pig 0.12.0 o anterior contra hadoop 2.2
, si este es el caso, me las arreglé para sortear este error volviendo a compilar el tarro de cerdo de src
, aquí hay un resumen de los pasos involucrados en un debian
caja tipo
descargar el
pig-0.12.0.tar.gz
descomprima el jar y configure los permisos
luego, dentro del directorio desempaquetado, compile el src con
'ant clean jar -Dhadoopversion=23'
entonces necesita obtener el jar en su class-path en maven, por ejemplo, en el mismo directorio
mvn install:install-file -Dfile=pig.jar -DgroupId={set a groupId}-
DartifactId={set a artifactId} -Dversion=1.0 -Dpackaging=jar
o si está en eclipse, agregue jar como biblioteca/dependencia externa
Estaba obteniendo tu rastro exacto tratando de correr pig 12
en un parche de hadoop 2.2.0
y los pasos anteriores me funcionaron
ACTUALIZACIÓN
Publiqué mi problema en pig jira y respondieron. Tienen un jar de cerdo ya compilado para hadoop2 pig-h2.jar aquí http://search.maven.org/#artifactdetails|org.apache.pig|pig|0.12.0|jar
una etiqueta experta para este frasco es
<dependency> <groupId>org.apache.pig</groupId> <artifactId>pig</artifactId> <classifier>h2</classifier> <version>0.12.0</version> <scope>provided</scope> </dependency>
Respondido el 29 de enero de 14 a las 02:01
¿Puedes dar el enlace a Pig Jira? - Nombre Apellido
Cerdo Jira issues.apache.org/jira/browse/PIG/… - nigel salvaje
2
Esto podría deberse a un cambio en la versión Pig a partir de la 0.12. El cambio específico es que Pig solía ser permisivo e ignoraba automáticamente la primera línea en el archivo de datos o interpretaba esa línea como nombres de columna, en la nueva versión de Pig se eliminó esta permisividad. La solución es eliminar los nombres de las columnas del archivo de entrada y esto debería resolver el problema.
Kapil
Respondido 19 Abr '14, 19:04
0
También me encuentro con este problema. Y luego veo este enlace: http://www.fanli7.net/a/JAVAbiancheng/ANT/20140325/441264.html
Yo solo reemplazo versión pig de 0.12.0 a 0.13.0
y el problema está resuelto. (Aquí, mi la versión de hadoop es 2.3.0
)
Respondido 25 Oct 14, 03:10
0
Puede colocar un punto de interrupción en la clase PigServer en el método store().
for(JobStats js : stats.getJobGraph()){
if(js.getException() != null) {
ex = js.getException();
}
}
Dentro del objeto js hay un mensaje de error de campo y puede contener una descripción del problema
Respondido el 23 de junio de 16 a las 16:06
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas apache-pig or haz tu propia pregunta.
¿Cómo empiezas cerdo? también verifique si hay un archivo de registro con más información. - Frederic
Pig aplazará la ejecución del comando LOAD hasta que vea STORE. Entonces, el problema más probable es con el comando LOAD en sí. Si está ejecutando pig en modo no local, se supone que INPUT-PATH es la ruta HDFS, no la ruta del archivo LOCAL: Bharat Jain
Fred, no estoy seguro en qué contexto debo responder a tu pregunta. Estoy usando BigInsights como el paquete que tiene Pig shell incluido. Simplemente lo inicio desde la opción, no revisé ningún parámetro del archivo de entrada o no tengo que configurar ninguno de esos archivos de entorno. - knowone
@BharatJain: Gracias Bharat por la información. Casi no noté el hecho de que Pig está diseñado para procesarse en el marco Hadoop. Copié de local a hdfs y luego realicé LOAD and DUMP; trabajado sin TIENDA. Gracias por la ayuda. Lo aprecio !! - knowone
Para las personas que encontraron esta publicación al buscar ERROR 1066: No se puede abrir el iterador para el alias aquí hay un solución genérica. - Dennis Jaheruddin