使Pyspark在jupyterhub内部工作

arj*_*arj 3 python ipython-notebook apache-spark pyspark jupyterhub

我有一台装有JupyterHub的机器(Python2,Python3,R和Bash Kernels)。我有Spark(scala),当然PySpark不在工作。我什至可以通过以下命令在交互式IPython笔记本中使用PySpark:

IPYTHON_OPTS="notebook" $path/to/bin/pyspark
Run Code Online (Sandbox Code Playgroud)

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

但是我无法在JupyterHub中运行PySpark。

Spark内核超出了我的真正需求。

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

谢谢。

lmt*_*mtx 5

您需要配置pyspark内核。

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

/usr/local/share/jupyter/kernels/
Run Code Online (Sandbox Code Playgroud)

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

mkdir /usr/local/share/jupyter/kernels/pyspark
Run Code Online (Sandbox Code Playgroud)

然后创建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"
 }
}
Run Code Online (Sandbox Code Playgroud)

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