PySpark创建SparkSession时遇py4j循环导入错误,求排查
循环导入错误的成因
你的脚本文件名是logging.py,这是引发问题的关键:
- 执行代码时,
from pyspark.sql import *会触发PySpark依赖的py4j库加载,py4j的java_gateway.py中存在import logging语句,原本意图导入Python标准库的logging模块。 - 但Python模块导入规则是优先从当前脚本所在目录查找同名模块,你的脚本恰好命名为
logging.py,导致Python错误地导入了你自己的这个文件,而非系统标准库的logging。 - 你的
logging.py第一行又要导入PySpark相关模块,形成了循环依赖链:本地logging.py → PySpark → py4j → 导入logging(指向本地logging.py)→ 再次导入PySpark...,最终导致py4j模块未能完全初始化,触发ImportError。
内容的提问来源于stack exchange,提问作者basu901
相关产品推荐
相关产品推荐

