У меня есть задача сокращения Hadoop, которая читает входные записи в пакетном режиме, выполняет большую обработку и записывает большое количество выходных данных для каждого входного пакета. У меня есть read , который Hadoop считает записывающим выводом "прогрессом" с целью уничтожения зависших задач. Тем не менее, несмотря на постоянное написание большого количества выходных данных, моя задача все еще истекает по тайм-ауту и уничтожается. Итак: как я могу узнать, когда Hadoop думает, что задание в последний раз сообщало о прогрессе? Зачем мне звонить context.progress()
с каждым context.write()
? Есть ли ситуации, когда письмо не считается прогрессом? (Например, мои ключи NullWritable
с.) Я использую Cloudera CDH3u1 на CentOS 5.7, если это имеет какое-либо значение.