3

我有一台装有 JupyterHub(Python2、Python3、R 和 Bash 内核)的机器。我有 Spark(scala) 和 PySpark 工作。我什至可以在交互式 IPython 笔记本中使用 PySpark,其命令如下:

IPYTHON_OPTS="notebook" $path/to/bin/pyspark

(这会打开一个 Jupyter 笔记本,在 Python2 中我可以使用 Spark)

但是我无法让 PySpark 在 JupyterHub 中工作。

火花内核比我真正需要的要多。

我只需要 JupyterHub 中的 Pyspark。有什么建议吗?

谢谢。

4

4 回答 4

6

您需要配置 pyspark 内核。

在我的服务器上,jupyter 内核位于:

/usr/local/share/jupyter/kernels/

您可以通过创建一个新目录来创建一个新内核:

mkdir /usr/local/share/jupyter/kernels/pyspark

然后创建kernel.json文件 - 我粘贴我的作为参考:

{
 "display_name": "pySpark (Spark 1.6.0)",
 "language": "python",
 "argv": [
  "/usr/local/bin/python2.7",
  "-m",
  "ipykernel",
  "-f",
  "{connection_file}"
 ],
 "env": {
  "PYSPARK_PYTHON": "/usr/local/bin/python2.7",
  "SPARK_HOME": "/usr/lib/spark",
  "PYTHONPATH": "/usr/lib/spark/python/lib/py4j-0.9-src.zip:/usr/lib/spark/python/",
  "PYTHONSTARTUP": "/usr/lib/spark/python/pyspark/shell.py",
  "PYSPARK_SUBMIT_ARGS": "--master yarn-client pyspark-shell"
 }
}

调整路径和 python 版本,你的 pyspark 内核就可以使用了。

于 2016-06-14T17:07:08.110 回答
4

您可以像往常一样启动 jupyter,并将以下内容添加到代码的顶部:

import sys
sys.path.insert(0, '<path>/spark/python/')
sys.path.insert(0, '<path>/spark/python/lib/py4j-0.8.2.1-src.zip')
import pyspark
conf = pyspark.SparkConf().set<conf settings>
sc = pyspark.SparkContext(conf=conf)

并根据您的需要更改尖括号中的零件。

于 2015-07-21T13:50:56.457 回答
0

我没有尝试使用 jupiter hub,但这种方法帮助我使用了其他工具(如 spyder)

我了解 jupiter 服务器本身就是一个 python 脚本。所以:复制(或重命名)jupyterhubjupyterhub.py

跑:

spark-submit jupyterhub.py

(将 spark-submit 和 jupyterhub.py 替换为这些文件的完整路径)

于 2015-07-21T13:20:48.993 回答
0

我创建了一个公共要点来配置 spark2.x 与 jupyterhub 和 cdh5.13 集群。

于 2017-11-04T15:46:19.037 回答