Pig: 0.8.1-cdh3u2
Hadoop: 0.20.2-cdh3u0
Run Code Online (Sandbox Code Playgroud)
调试FIELD_DISCARDED_TYPE_CONVERSION_FAILED警告,但我似乎无法在任何地方打印个别警告.通过-w或aggregate.warnings=false切换禁用聚合会删除摘要消息,但它也会删除实际警告,因此我无法看到哪种类型的转换失败.
在这次运行的猪日志中没有写任何内容,而且我无法找到带有个别警告的日志.我是否想念任何明显的东西,或者根本不起作用?
小智 0
Hadoop 作业日志记录在每个计算节点本地。因此,您首先需要设置 hadoop 集群管理器以将日志文件收集到分布式文件系统上,以便您可以分析它们。如果您使用 Hadoop-on-demand ( http://hadoop.apache.org/docs/r0.17.0/hod.html ),您应该能够通过指定类似以下内容来做到这一点:
log-destination-uri = hdfs://host123:45678/user/hod/logs
Run Code Online (Sandbox Code Playgroud)
请参阅 HOD 文档:http://hadoop.apache.org/docs/r0.17.0/hod_user_guide.html#Collecting+and+Viewing+Hadoop+Logs
在 HDFS 上获得日志后,您可以运行简单的 PIG 查询来查找有问题的转换。像下面这样的东西应该可以解决问题:
a1= LOAD '*.log' USING PigStorage(']') ;
a2= FILTER a1 by ($1 MATCHES ' WARN.*Unable to interpret value.*');
dump a2;
Run Code Online (Sandbox Code Playgroud)