Depuración en PIG UDF

Soy nuevo en Hadoop/PIG. Tengo una pregunta básica.

¿Tenemos una instalación de registro en PIG UDF? He escrito un UDF que necesito verificar. Necesito registrar ciertas declaraciones para verificar el flujo. ¿Hay una instalación de registro disponible? En caso afirmativo, ¿dónde están presentes los registros de cerdo?

preguntado el 12 de junio de 12 a las 22:06

2 Respuestas

Asumiendo que su UDF se extiende EvalFunc, puede utilizar el registrador devuelto por EvalFunc.getLogger(). La salida del registro debe estar visible en la tarea Map/Reduce asociada que pig ejecuta (si el trabajo se ejecuta en más de una etapa, tendrá que seleccionarlas para encontrar las entradas de registro asociadas).

Respondido el 13 de junio de 12 a las 00:06

Entonces, ¿los registros terminarán en el archivo de registro Map Reduce Task? ¿Puedo hacer específicamente mis declaraciones de registro en un archivo separado? - uno

Sí lo harán. Podría, pero luego tendría que ir a cada rastreador de tareas para verlos/recopilarlos. Supongo que podría intentar configurar un registrador remoto (registrar en una base de datos, por ejemplo). - Chris White

No lo sé con certeza, pero podría probar el PigLogger, que podría enviar cosas al cliente. - Chris White

Lo siento por una pregunta tan ingenua. Pero yo lo he usado de la siguiente manera: PigLogger pigLogger = this.getPigLogger(); pigLogger.warn(objeto,Cadena,enumeración); ¿Me estoy perdiendo algo aquí? O esto es todo para EvalFunc Logger. No puedo ver nada más que advertir. ¿No tenemos depuración, información, error? - uno

Intenté usar this.getLogger.info(String); ¿Debería aparecer esto en el registro de tasktarcker? No puedo ver ningún registro para esto. - uno

tal vez sea obvio, pero le aconsejo que depure su UDF en modo local antes de implementarlo en un clúster/pseudoclúster. De esta manera, puede depurarlo directamente dentro de su IDE (eclipse en mi caso), que es más fácil que la depuración de registros.

Respondido el 18 de junio de 12 a las 09:06

¿Hay un sitio o algunos pasos que pueda seguir para comenzar con Eclipse? Me refiero a cerdo en eclipse. - uno

no conozco un sitio con pasos, pero es bastante simple: coloque las dependencias de hadoop-core y pig en su maven pom, y luego trabaje con org.apache.pig.PigServer. intentar pigServer.registerScript(resource.getInputStream(), pigScriptParams, null); y entonces PigStats stats = pigServer.store("final_output", pigScriptParams.get("output_folder"), pigStoreFunc).getStatistics(); - yohadanny

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.