我已经花了几天时间尝试让 Spark 与我的 Jupyter Notebook 和 Anaconda 一起工作。这是我的 .bash_profile 的样子:
PATH="/my/path/to/anaconda3/bin:$PATH"
export JAVA_HOME="/my/path/to/jdk"
export PYTHON_PATH="/my/path/to/anaconda3/bin/python"
export PYSPARK_PYTHON="/my/path/to/anaconda3/bin/python"
export PATH=$PATH:/my/path/to/spark-2.1.0-bin-hadoop2.7/bin
export PYSPARK_DRIVER_PYTHON=jupyter
export PYSPARK_DRIVER_PYTHON_OPTS="notebook" pyspark
export SPARK_HOME=/my/path/to/spark-2.1.0-bin-hadoop2.7
alias pyspark="pyspark --conf spark.local.dir=/home/puifais --num-executors 30 --driver-memory 128g --executor-memory 6g --packages com.databricks:spark-csv_2.11:1.5.0"
当我键入 /my/path/to/spark-2.1.0-bin-hadoop2.7/bin/spark-shell
时,我可以在命令行 shell 中正常启动 Spark。并且输出 sc
不为空。它似乎工作正常。
当我键入 pyspark
时,它会正常启动我的 Jupyter Notebook。当我创建一个新的 Python3 notebook 时,出现这个错误:
[IPKernelApp] WARNING | Unknown error in handling PYTHONSTARTUP file /my/path/to/spark-2.1.0-bin-hadoop2.7/python/pyspark/shell.py:
并且 sc
在我的 Jupyter Notebook 中是空的。
任何人都可以帮助解决这种情况吗?
只是想澄清一下:错误末尾的冒号后没有任何内容。我还尝试使用这篇 文章 创建我自己的启动文件,我在这里引用,所以你不必去那里看:
我创建了一个简短的初始化脚本 init_spark.py,如下所示:
> from pyspark import SparkConf, SparkContext > conf = SparkConf().setMaster("yarn-client") > sc = SparkContext(conf = conf) > > ``` > > 并将其放在 ~/.ipython/profile_default/startup/ 目录中 当我这样做时,错误变成了:
[IPKernelApp] WARNING | Unknown error in handling PYTHONSTARTUP file /my/path/to/spark-2.1.0-bin-hadoop2.7/python/pyspark/shell.py: [IPKernelApp] WARNING | Unknown error in handling startup files:
”`
原文由 puifais 发布,翻译遵循 CC BY-SA 4.0 许可协议
Conda 可以帮助正确管理很多依赖关系……
安装火花。假设 spark 安装在 /opt/spark 中,将其包含在您的 ~/.bashrc 中:
创建一个 conda 环境,其中包含除 spark 之外的所有必需依赖项:
激活环境
启动 Jupyter Notebook 服务器:
在您的浏览器中,创建一个新的 Python3 笔记本
尝试使用 以下 脚本计算圆周率(从中借用)