You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows 11系统下运行PySpark时如何消除各类警告提示

PySpark启动警告消除方案

1. 解决Java非法反射访问警告

开头5条反射相关的WARNING是Java 9及以上版本的模块权限限制导致的,可选两种解决方式:

  • 切换本地Java版本为Java 8,可完全消除该类警告
  • 在创建SparkSession时添加JVM启动参数,无需更换Java版本

2. 消除Spark运行日志警告

NativeCodeLoader这类运行时WARN提示,可选两种解决方式:

  • 修改Spark配置文件:
    进入C:\opt\spark\spark-3.2.0-bin-hadoop3.2\conf目录,将log4j.properties.template重命名为log4j.properties,打开文件找到log4j.rootCategory配置项,将值修改为ERROR, console,保存后重启Spark即可生效
  • 代码内直接设置日志级别:创建SparkSession后新增一行设置代码即可

3. 消除输出末尾的None

df.show()方法本身已经会打印DataFrame内容,无需在外层套print(),去掉外层print()即可

修改后可直接使用的完整代码

from pyspark.sql import SparkSession

# 新增JVM参数解决反射警告
spark = SparkSession.builder \
    .appName('project1') \
    .config('spark.driver.extraJavaOptions', '--illegal-access=permit --add-opens java.base/java.nio=ALL-UNNAMED --add-opens java.base/sun.nio.ch=ALL-UNNAMED') \
    .getOrCreate()

# 设置日志级别,仅输出错误信息
spark.sparkContext.setLogLevel("ERROR")

df_pyspark = spark.read.csv('test_file.txt')

# 去掉外层print,避免输出多余None
df_pyspark.show()

内容的提问来源于stack exchange,提问作者Al-Andalus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 15:45:05