Как войти в ядро-pyspark-*.log из запланированной записной книжки?

В моей записной книжке я настроил утилиту для ведения журнала, чтобы я мог отлаживать запланированные записные книжки DSX:

# utility method for logging
log4jLogger = sc._jvm.org.apache.log4j
LOGGER = log4jLogger.LogManager.getLogger("CloudantRecommender")

def info(*args):

    # sends output to notebook
    print(args)

    # sends output to kernel log file
    LOGGER.info(args)

Используя это так:

info("some log output")

Если я проверю файлы журнала, я вижу, что мой выход из системы записывается:

! grep 'CloudantRecommender' $HOME/logs/notebook/*pyspark* 

kernel-pyspark-20170105_164844.log:17/01/05 10:49:08 INFO CloudantRecommender: [Starting load from Cloudant: , 2017-01-05 10:49:08]
kernel-pyspark-20170105_164844.log:17/01/05 10:53:21 INFO CloudantRecommender: [Finished load from Cloudant: , 2017-01-05 10:53:21]

Однако, когда записная книжка запускается как запланированное задание, выходной файл, похоже, не попадает в файл kernel-pyspark-*. Log.

Как записать вывод журнала в записные книжки DSX для целей отладки?

1 ответ

Решение

Код регистрации на самом деле работает нормально. Проблема заключалась в том, что в расписании указывалось на более старую версию ноутбука, в которой не было никаких записей в журнале!

Другие вопросы по тегам