在我狂热的map reduce代码中,我想要注销正在发生的某些步骤,以便在出现错误时可以调试map-reduce作业。
如何将日志记录添加到我的滚烫作业?
例如。
import com.twitter.scalding._
class WordCountJob(args: Args) extends Job(args) {
//LOG: Starting job at time blah..
TextLine( args("input") )
.read
.flatMap('line -> 'word) {
line: String =>
line.trim.toLowerCase.split("\\W+")
}
.groupBy('word) { group => group.size('count) }
}
.write(Tsv(args("output")))
//LOG - ending job at time...
}发布于 2014-11-26 04:49:20
任何日志记录框架都可以。显然,您还可以使用println() -它将出现在您的作业的stdout日志文件中、您的hadoop集群的作业历史记录中(在hdfs模式下)或在您的控制台中(在本地模式下)。
还可以考虑使用addTrap()方法定义一个陷阱来捕获错误记录。
https://stackoverflow.com/questions/26987636
复制相似问题