结合PyCharm,Spark和Jupyter

Jan*_*egt 7 pycharm apache-spark pyspark jupyter

在当前设置中,我使用具有配置文件的Jupyter笔记本服务器pyspark来使用Spark.一切都很好.然而,我正在做一个非常大的项目,笔记本环境对我来说有点缺乏.我发现PyCharm允许您在IDE中运行笔记本,与Jupyter相比,它为您提供了完整IDE的更多优势.

在最好的情况下,我会在本地运行PyCharm而不是网关上的远程桌面,但使用网关将是一个可接受的替代方案.

我首先尝试让它在网关上工作.如果我的(spark)Jupyter服务器正在运行,IP地址设置正确127.0.0.1:8888并且我创建了一个.ipynb文件,在我输入一行并按回车(不运行它,只需添加换行符)后,我在终端中收到以下错误pycharm来自:

ERROR - pplication.impl.LaterInvocator - Not a stub type: Py:IPNB_TARGET in class org.jetbrains.plugins.ipnb.psi.IpnbPyTargetExpression
Run Code Online (Sandbox Code Playgroud)

谷歌搜索不会让我到任何地方.

小智 1

通过在 OS X 上的终端安装 Spark,我能够让这三个程序正常工作。然后,我将以下包添加到 PyCharm 项目解释器中:findspark、pyspark。

测试了一下

import findspark
findspark.init()
import pyspark
import random
sc = pyspark.SparkContext(appName="Pi")
num_samples = 100000000
def inside(p):     
  x, y = random.random(), random.random()
  return x*x + y*y < 1
count = sc.parallelize(range(0, num_samples)).filter(inside).count()
pi = 4 * count / num_samples
print(pi)
sc.stop()
Run Code Online (Sandbox Code Playgroud)

输出:3.14160028