首页 > 解决方案 > 火花会话 | Ubuntu | Pycharm 不工作

问题描述

我正在尝试使用 PyCharm 而不是 jupyter 笔记本在 Ubuntu 上本地使用 PySpark,以构建 Electron 应用程序。但是,当我尝试设置 SparkSession 时,它不起作用。当我尝试这个时:

spark = SparkSession.builder.master('local[*]').appName('Search').enableHiveSupport().getOrCreate
df = pd.DataFrame([1,2,3], columns=['Test'])
myschema = StructType([StructField('Test'),Integertype(),True)])
df2 = spark.createDataFrame(df,schema=myschema)
print(type(df2))

会话打开,但它告诉我

"AttributeError: 'function' object has no attribute 'createDataFrame' "

然后,用“.getOrCreate()”重写上面的内容,它告诉我

"FileNotFoundError: [Error 2] No such file or directory "home/...././bin/spark-submit'

我猜 Pycharm 中的设置可能已关闭,但我真的不明白为什么。

标签: python-3.xubuntupysparkpycharm

解决方案


您需要使用方法调用getOrCreate(),而不是getOrCreate. 此外,请确保您安装pyspark在 pycharm 中用于您的项目的 python 解释器中。您可以通过pycharm 中的Preferences -> Python Interpreter访问它。

更新:尝试在本地下载并提取 spark二进制文件(例如 spark 2.4.0),然后在 bashrc 中添加以下条目(并获取它)。我假设你使用的是 spark 2.4.0,所以 py4j 是特定于这个版本的。对于任何其他版本的 spark,请检查 py4j 版本并相应添加。

export SPARK_HOME=/<your_path>/spark-2.4.0-bin-hadoop2.7
export PYTHONPATH=${SPARK_HOME}/python:$PYTHONPATH
export PYTHONPATH=${SPARK_HOME}/python/lib/py4j-0.10.7-src.zip:$PYTHONPATH
export PYSPARK_PYTHON=/<location_of_python_interpreter>

无论您要链接到什么 python 解释器PYSPARK_PYTHON,请确保在您的 pycharm 项目中使用相同的 python。


推荐阅读