我已经编写了一个非常简单的python脚本来测试我的火花流式传输的想法,并计划在我的本地计算机上运行它来乱七八糟。这是命令行:
spark-submit spark_streaming.py localhost 9999
但终端给我一个错误:
Error executing Jupyter command '<the/spark_streaming.py/file/path>': [Errno 2] No such file or directory
我不知道为什么会这样,我确定.py文件确实存在。
编辑:使用python
代替spark-submit
此外,.bashrc文件中添加的行:
export PATH="/usr/local/spark/bin:$PATH"
export PYSPARK_DRIVER_PYTHON=jupyter
export PYSPARK_DRIVER_PYTHON_OPTS='notebook'
export SPARK_LOCAL_IP=localhost
答案 0 :(得分:2)
假设您希望spark-submit
YARN位于/home/user/scripts/spark_streaming.py
的Python脚本,正确的语法如下:
spark-submit --master yarn --deploy-mode client /home/user/scripts/spark_streaming.py
您可以交换各种标志的顺序,但脚本本身必须在最后;如果您的脚本接受参数,则应遵循脚本名称(例如,请参阅this example以计算10位十进制数字的pi)。
如果要在本地执行2个内核,则应使用--master local[2]
- 对所有可用的本地内核使用--master local[*]
(在这两种情况下都不会deploy-mode
标记)。
查看docs以获取更多信息(尽管他们在pyspark演示中相当差)。
PS提及Jupyter
以及错误消息中显示的路径非常令人费解......
更新:似乎PYSPARK_DRIVER_PYTHON=jupyter
弄乱了所有内容,通过Jupyter汇集执行(这里不可取,这可能解释了奇怪的错误消息)。尝试修改.bashrc
中的环境变量,如下所示:
export SPARK_HOME="/usr/local/spark" # do not include /bin
export PYSPARK_PYTHON=python
export PYSPARK_DRIVER_PYTHON=python
export PYSPARK_DRIVER_PYTHON_OPTS=""
和source .bashrc
。