Шаг -1 Настройка свойств log4j
Мы будем использовать то, что называется Appender. В соответствии с документацией log4j, добавочные устройства отвечают за доставку LogEvents по назначению.
Добавьте следующие строки в свойства конфигурации вашей log4j. Вы найдете файл в вашей директории установки spark - spark / conf / log4j.properties
# Define the root logger with Appender file
log4j.rootLogger=WARN, console
# Define the file appender
log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender
# Name of the log file
log4j.appender.FILE.File=/tmp/logfile.out
# Set immediate flush to true log4j.appender.FILE.ImmediateFlush=true
# Set the threshold to DEBUG mode log4j.appender.FILE.Threshold=debug
# Set File append to true. log4j.appender.FILE.Append=true
# Set the Default Date pattern log4j.appender.FILE.DatePattern='.' yyyy-MM-dd
# Default layout for the appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n
Шаг 2. Используйте его в своем приложении Spark
Внутри скрипта pyspark вам нужно инициализировать регистратор для использования log4j. Самое простое, у вас это уже есть в контексте pyspark!
sc = SparkContext(conf=conf)
log4jLogger = sc._jvm.org.apache.log4j
log = log4jLogger.LogManager.getLogger(__name__)
log.warn("Hello World!")