windows下配置pyspark
安装和配置spark
Spark版本: spark-3.0.3-bin-without-hadoop
Hadoop版本: hadoop-3.2.2
下载winutils(链接), 将winutils和hadoop.dll放入HADOOP_HOME/bin目录下
在SPARK_HOME/conf下新建spark-env.cmd, 添加以下内容, 解决spark-shell启动时找不到log4j的错误
- 第1行: 关闭命令回显
第2行: 设置spark错误提示信息为中文
第3行: 设置spark寻找hadoop的jar包的路径
1 | @echo off |
解决vscode找不到pyspark或其他自定义包
如果提示找不到py4j,可以把SPARK_HOME/python/lib/py4j-0.10.9-src.zip加入pythonpath中
在.vscode的settings.json中, 添加以下内容, 解决terminal运行python程序时找不到自定义模块的问题
1 | "python.autoComplete.extraPaths": ["${workspaceFolder}", "${env:SPARK_HOME}/python"], |
- 在.vscode的launch.json中, 添加以下内容, 解决调试模式找不到自定义模块的问题
1 | "env": {"PYTHONPATH":"${workspaceFolder};${env:SPARK_HOME}/python/lib/py4j-0.10.9-src.zip;${env:SPARK_HOME/python};${env:PYTHONPATH}", |
说明
python.autoComplete.extraPaths
指定vscode的python插件寻找其他包的位置, terminal.integrated.env.windows
指定terminal的pythonpath环境变量, pycharm不会报找不到自定义包的原因是pycharm会自动把项目路径添加到pythonpath环境变量中, vscode则需要手动添加