在我的烫伤地图减少代码中,我想注销正在发生的某些步骤,以便在出现问题时调试地图归约作业。
如何将日志记录添加到我的烫伤作业中?
例如
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...
}
任何日志记录框架都可以。显然,您也可以使用 println() - 它将出现在 Hadoop 集群(在 hdfs 模式下)或控制台(在本地模式下)的作业历史记录中的作业 stdout 日志文件中。
还可以考虑使用 addTrap() 方法定义一个陷阱来捕获错误记录。