我正在尝试在pyspark作业中设置日志级别。我没有使用spark shell,所以我不能只做它建议的并调用sc.setLogLevel(newLevel),因为我没有sc对象。
许多消息来源说只是修改log4j.properties,但我不知道在哪里找到/放置该文件。我在虚拟环境中使用了pip install pyspark,所以我没有设置的$ SPARK_HOME环境变量(源通常说log4j.properties在$ SPARK_HOME中)。
我希望我可以通过编程方式调用它,但我不知道在哪里调用setLogLevel。现在我的设置代码就是这样:
spark = SparkSession.builder.master("local").appName("test-mf").getOrCreate()
答案 0 :(得分:1)
SparkSession对象具有获取SparkContext对象的属性,并且在其上调用setLogLevel确实会更改正在使用的日志级别:
spark = SparkSession.builder.master("local").appName("test-mf").getOrCreate()
spark.sparkContext.setLogLevel("DEBUG")