Установка свойств log4j в pyspark - PullRequest
0 голосов
/ 15 марта 2019

Я пытаюсь установить некоторые свойства log4j в pyspark, но не могу заставить его работать. Например, я хотел бы установить следующее

log4j.logger.org.apache.hadoop.fs.s3a.S3AStorageStatistics=INFO

Как я могу сделать это в коде? Я пытался использовать extraJavaOptions в SparkConf:

conf = SparkConf()
conf.set("spark.driver.extraJavaOptions",
         "-Dlog4j.debug=true -Dlog4j.logger.org.apache.hadoop.fs.s3a.S3AStorageStatistics=INFO")
spark_session = SparkSession.builder\
    .config(conf)\
    .getOrCreate()

А также в PYSPARK_SUBMIT_ARGS:

os.environ['PYSPARK_SUBMIT_ARGS'] = \
            '--packages org.apache.hadoop:hadoop-aws:2.7.3 pyspark-shell ' \
            '--conf "spark.driver.extraJavaOptions=-Dlog4j.logger.org.apache.hadoop.fs.s3a.S3AStorageStatistics=INFO" -Dlog4j.debug=true'

Но я не думаю, что либо работает, так как я не вижу статистику S3A в журналах, когда я читаю файл с s3a: // url.

Есть идеи?

1 Ответ

0 голосов
/ 15 марта 2019

Вы можете установить / изменить уровень журнала в коде pyspark

logger = spark_session._jvm.org.apache.log4j.LogManager\
    .getLogger("log4j.logger.org.apache.hadoop.fs.s3a.S3AStorageStatistics")
level = spark_session._jvm.org.apache.log4j.Level.toLevel("info")
logger.setLevel(level)
...