从 pycharm 开始使用 pyspark
working on pyspark from pycharm
我正在尝试使用 pycharm 为 pyspark 创建一些脚本。
虽然我找到了关于如何连接它们的多种解释(例如 ),但并非一切正常。
我所做的基本上是正确设置环境变量:
echo $PYTHONPATH
:/usr/local/spark/python:/usr/local/spark/python/lib/py4j-0.9-src.zip
echo $SPARK_HOME
/usr/local/spark
在我的代码中:
appName = "demo1"
master = "local"
conf = SparkConf().setAppName(appName).setMaster(master)
sc = SparkContext(conf=conf)
sqlContext = SQLContext(sc)
问题是许多数据帧聚合函数显示为错误。例如我有以下几行:
from pyspark.sql import functions as agg_funcs
maxTimeStamp = base_df.agg(agg_funcs.max(base_df.time)).collect()
但 pycharm 声称:无法在 functions.py 中找到参考文献 'max'
大多数聚合函数(例如 col、count)都会出现类似的错误
我该如何解决这个问题?
在 PyCharm 中编写脚本很棒,但是对于 运行 宁他们我建议你直接从控制台使用 spark-submit
命令来执行它们。
如果你真的想 运行 直接从 PyCharm 那里得到一个很棒的 github 项目,叫做 findspark 它可以让你做你想要的.
安装库并添加到代码顶部
import findspark
findspark.init()
其余代码就在其下方,findspark 将为您完成所有工作!
这是由于 pycharm 中 python 分析的局限性。由于 pyspark 会动态生成它的一些功能。我实际上已经用 pycharm (https://youtrack.jetbrains.com/issue/PY-20200) 打开了一个问题。它提供了一些解决方案,基本上是手动编写一些接口代码。
更新:
如果您查看 this thread you can see some advancement in the topic. This has a working interface for most stuff and here 可以了解更多信息。
pycharm -> 设置 -> 项目 -> 项目结构 -> 添加根内容
select spark 安装文件夹的以下路径
spark/python/lib/py4j.....sr.zip
spark/python/lib/pyspark.zip
我正在尝试使用 pycharm 为 pyspark 创建一些脚本。
虽然我找到了关于如何连接它们的多种解释(例如
我所做的基本上是正确设置环境变量:
echo $PYTHONPATH
:/usr/local/spark/python:/usr/local/spark/python/lib/py4j-0.9-src.zip
echo $SPARK_HOME
/usr/local/spark
在我的代码中:
appName = "demo1"
master = "local"
conf = SparkConf().setAppName(appName).setMaster(master)
sc = SparkContext(conf=conf)
sqlContext = SQLContext(sc)
问题是许多数据帧聚合函数显示为错误。例如我有以下几行:
from pyspark.sql import functions as agg_funcs
maxTimeStamp = base_df.agg(agg_funcs.max(base_df.time)).collect()
但 pycharm 声称:无法在 functions.py 中找到参考文献 'max' 大多数聚合函数(例如 col、count)都会出现类似的错误
我该如何解决这个问题?
在 PyCharm 中编写脚本很棒,但是对于 运行 宁他们我建议你直接从控制台使用 spark-submit
命令来执行它们。
如果你真的想 运行 直接从 PyCharm 那里得到一个很棒的 github 项目,叫做 findspark 它可以让你做你想要的.
安装库并添加到代码顶部
import findspark
findspark.init()
其余代码就在其下方,findspark 将为您完成所有工作!
这是由于 pycharm 中 python 分析的局限性。由于 pyspark 会动态生成它的一些功能。我实际上已经用 pycharm (https://youtrack.jetbrains.com/issue/PY-20200) 打开了一个问题。它提供了一些解决方案,基本上是手动编写一些接口代码。
更新:
如果您查看 this thread you can see some advancement in the topic. This has a working interface for most stuff and here 可以了解更多信息。
pycharm -> 设置 -> 项目 -> 项目结构 -> 添加根内容
select spark 安装文件夹的以下路径
spark/python/lib/py4j.....sr.zip
spark/python/lib/pyspark.zip