Spark 上的 IPython/Jupyter 问题(无法识别的别名)

数据挖掘 Python 阿帕奇火花 pyspark 蟒蛇
2021-10-09 04:06:57

在我出去花钱建立一个带有一些硬件的集群之前,我正在努力设置一组虚拟机来试验 Spark。快速说明:我是一名具有应用机器学习背景的学者,并且在数据科学领域工作了一些。我使用计算工具,很少需要设置它们。

我已经创建了 3 个虚拟机(1 个主,2 个从)并成功安装了 Spark。一切似乎都在正常工作。我的问题在于创建一个 Jupyter 服务器,该服务器可以从不在集群上的机器上运行的浏览器连接到该服务器。

我已经成功安装了Jupyter 笔记本......并且它运行了。我添加了一个使用 Spark连接到远程服务器的新 IPython 配置文件。

现在的问题

命令

$ ipython --profile=pyspark 运行良好,它连接到火花集群。然而,

$ ipython notebook --profile=pyspark [<stuff is here>] Unrecognized alias: "profile=pyspark", it will probably have no effect. 默认为default配置文件而不是pyspark配置文件。

我的笔记本配置pyspark有:

c = get_config() c.NotebookApp.ip = '*' c.NotebookApp.open_browser = False c.NotebookApp.port = 8880 c.NotebookApp.server_extensions.append('ipyparallel.nbextension') c.NotebookApp.password = u'some password is here'

3个回答

IPython 现在已移至4.0 版本,这意味着如果您使用它,它将从 读取其配置~/.jupyter,而不是~/.ipython. 您必须创建一个新的配置文件

jupyter notebook --generate-config

然后~/.jupyter/jupyter_notebook_config.py根据您的需要编辑生成的文件。

更多安装说明在这里

假设您的配置文件是 ~/.ipython/profile_pyspark/ipython_notebook_config.py,您仍然可以通过以下方式使用此配置文件:

ipython notebook --config='~/.ipython/profile_pyspark/ipython_notebook_config.py'

或者

jupyter-notebook --config='~/.ipython/profile_pyspark/ipython_notebook_config.py'

问题是 pyspark 默认不在 os sys 路径上。在几次尝试将其手动添加到我的配置文件/路径/等失败后,我遇到了这个名为 findspark 的GitHub存储库。

我使用克隆了这个存储库

git clone https://github.com/minrk/findspark.git

然后我pip install findspark从 findspark 根目录运行。

启动了一个 Jupyter 笔记本,创建了一个新的 Python3 笔记本并添加了

import findspark  
import os  
findspark.init()  
import pyspark  
sc = pyspark.SparkContext() 

之前findspark.init()import pyspark返回错误。

为了测试我刚刚输入sc并返回:

pyspark.context.SparkContext at 0x4526d30

现在都为我工作。