Как войти в файл в Scalding?

В моем коде сокращения карты Scalding я хочу отключить определенные шаги, которые происходят, чтобы я мог отлаживать задания сокращения карты, если что-то пойдет не так.

Как я могу добавить ведение журнала в свою работу по ошпариванию?

E.g.

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...
}

person jcm    schedule 18.11.2014    source источник


Ответы (1)


Подойдет любая структура ведения журнала. Очевидно, вы также можете использовать println() - он появится в файле журнала stdout вашего задания в истории заданий вашего кластера hadoop (в режиме hdfs) или в вашей консоли (в локальном режиме).

Также рассмотрите возможность определения ловушки с помощью метода addTrap() для перехвата ошибочных записей.

person Erik Schmiegelow    schedule 25.11.2014