python-3.x - 火花会话 | 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 中的设置可能已关闭,但我真的不明白为什么。
解决方案
您需要使用方法调用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。
推荐阅读
- ios - 删除不必要的 JSON 空格
- regex - 如果在字符串 A 之前的任何位置找到字符串 B,则尝试匹配字符串 A
- android - 设置数据绑定时出现 Kotlin 错误
- python - 如何使用 python 将较低级别的 ASCII 字符附加到(记事本)文档?
- c# - .netcore Sqlite 无法创建数据库
- python - 您能告诉我如何使用 python 重复和截断音频文件吗?
- javascript - 如何将标题扩展到整个页面宽度?
- batch-file - 批处理文件是否读取了相同的随机数?
- php - JQuery:无法使用相对路径访问 php 文件
- javascript - 如何阻止我的 React Native 测试在 Node Modules 中的 Flow 类型上轰炸?