Link Spark 与 iPython 笔记本
Link Spark with iPython Notebook
我已经在网上学习了一些教程,但它们不适用于 Spark 1.5.1
OS X El Capitan (10.11)
基本上我有运行这个命令下载apache-spark
brew update
brew install scala
brew install apache-spark
更新了 .bash_profile
# For a ipython notebook and pyspark integration
if which pyspark > /dev/null; then
export SPARK_HOME="/usr/local/Cellar/apache-spark/1.5.1/libexec/"
export PYSPARK_SUBMIT_ARGS="--master local[2]"
fi
运行
ipython profile create pyspark
创建了启动文件 ~/.ipython/profile_pyspark/startup/00-pyspark-setup.py
以这种方式配置
# Configure the necessary Spark environment
import os
import sys
# Spark home
spark_home = os.environ.get("SPARK_HOME")
# If Spark V1.4.x is detected, then add ' pyspark-shell' to
# the end of the 'PYSPARK_SUBMIT_ARGS' environment variable
spark_release_file = spark_home + "/RELEASE"
if os.path.exists(spark_release_file) and "Spark 1.4" in open(spark_release_file).read():
pyspark_submit_args = os.environ.get("PYSPARK_SUBMIT_ARGS", "")
if not "pyspark-shell" in pyspark_submit_args: pyspark_submit_args += " pyspark-shell"
os.environ["PYSPARK_SUBMIT_ARGS"] = pyspark_submit_args
# Add the spark python sub-directory to the path
sys.path.insert(0, spark_home + "/python")
# Add the py4j to the path.
# You may need to change the version number to match your install
sys.path.insert(0, os.path.join(spark_home, "python/lib/py4j-0.8.2.1-src.zip"))
# Initialize PySpark to predefine the SparkContext variable 'sc'
execfile(os.path.join(spark_home, "python/pyspark/shell.py"))
然后我 运行 ipython notebook --profile=pyspark
笔记本工作正常,但无法识别 sc
(spark 上下文)。
有人设法用 Spark 1.5.1
做到这一点吗?
编辑:您可以按照本指南进行操作
我安装了Jupyter,确实比你想象的要简单:
- 为 OSX 安装 anaconda。
安装jupyter typing the next line in your terminal Click me for more info.
ilovejobs@mymac:~$ conda install jupyter
更新 jupyter 以防万一
ilovejobs@mymac:~$ conda update jupyter
下载Apache Spark and compile it, or download and uncompress Apache Spark 1.5.1 + Hadoop 2.6.
ilovejobs@mymac:~$ cd Downloads
ilovejobs@mymac:~/Downloads$ wget http://www.apache.org/dyn/closer.lua/spark/spark-1.5.1/spark-1.5.1-bin-hadoop2.6.tgz
在您的家中创建一个 Apps
文件夹(即):
ilovejobs@mymac:~/Downloads$ mkdir ~/Apps
将未压缩的文件夹 spark-1.5.1
移动到 ~/Apps
目录。
ilovejobs@mymac:~/Downloads$ mv spark-1.5.1/ ~/Apps
移动到 ~/Apps
目录并验证 spark 是否存在。
ilovejobs@mymac:~/Downloads$ cd ~/Apps
ilovejobs@mymac:~/Apps$ ls -l
drwxr-xr-x ?? ilovejobs ilovejobs 4096 ?? ?? ??:?? spark-1.5.1
这是第一个棘手的部分。将 spark 二进制文件添加到您的 $PATH
:
ilovejobs@mymac:~/Apps$ cd
ilovejobs@mymac:~$ echo "export $HOME/apps/spark/bin:$PATH" >> .profile
这是第二个棘手的部分。还添加此环境变量:
ilovejobs@mymac:~$ echo "export PYSPARK_DRIVER_PYTHON=ipython" >> .profile
ilovejobs@mymac:~$ echo "export PYSPARK_DRIVER_PYTHON_OPTS='notebook' pyspark" >> .profile
获取配置文件以使这些变量可用于此 终端
ilovejobs@mymac:~$ source .profile
创建一个 ~/notebooks
目录。
ilovejobs@mymac:~$ mkdir notebooks
移动到 ~/notebooks
和 运行 pyspark:
ilovejobs@mymac:~$ cd notebooks
ilovejobs@mymac:~/notebooks$ pyspark
请注意,您可以将这些变量添加到位于您家中的 .bashrc
。
现在开心点,你应该可以 运行 带有 pyspark 内核的 jupyter(它将显示为 python 2 但它会使用 spark)
带 IPython/Jupyter 笔记本的 Spark 很棒,我很高兴 Alberto 能够帮助您使用它。
作为参考,还值得考虑 2 个预先打包好的替代方案,它们可以轻松集成到 YARN 集群中(如果需要)。
Spark 笔记本:https://github.com/andypetrella/spark-notebook
阿帕奇飞艇:https://zeppelin.incubator.apache.org/
在撰写本文时,Spark Notebook (v0.6.1) 更加成熟,您可以在此处针对您的 Spark 和 Hadoop 版本预构建安装:http://spark-notebook.io/
Zeppelin (v0.5) 看起来很有前途,但目前提供的功能不如 Spark Notebook 或 IPython with Spark。
仅供参考,您可以 运行 Scala、PySpark、SparkR 和 SQL 通过 https://github.com/ibm-et/spark-kernel now. The new interpreters were added (and marked experimental) from pull request https://github.com/ibm-et/spark-kernel/pull/146 在 Jupyter 上使用 Spark 运行ning。
有关详细信息,请参阅 language support 维基页面。
首先,请确保您的机器中有 spark 环境。
然后,通过 pip 安装 python 模块 findspark
:
$ sudo pip install findspark
然后在python shell:
import findspark
findspark.init()
import pyspark
sc = pyspark.SparkContext(appName="myAppName")
现在您可以在 python shell(或 ipython)中使用 pyspark 做您想做的事了。
实际上,在我看来,这是在 jupyter 中使用 spark 内核的最简单方法
我已经在网上学习了一些教程,但它们不适用于 Spark 1.5.1
OS X El Capitan (10.11)
基本上我有运行这个命令下载apache-spark
brew update
brew install scala
brew install apache-spark
更新了 .bash_profile
# For a ipython notebook and pyspark integration
if which pyspark > /dev/null; then
export SPARK_HOME="/usr/local/Cellar/apache-spark/1.5.1/libexec/"
export PYSPARK_SUBMIT_ARGS="--master local[2]"
fi
运行
ipython profile create pyspark
创建了启动文件 ~/.ipython/profile_pyspark/startup/00-pyspark-setup.py
以这种方式配置
# Configure the necessary Spark environment
import os
import sys
# Spark home
spark_home = os.environ.get("SPARK_HOME")
# If Spark V1.4.x is detected, then add ' pyspark-shell' to
# the end of the 'PYSPARK_SUBMIT_ARGS' environment variable
spark_release_file = spark_home + "/RELEASE"
if os.path.exists(spark_release_file) and "Spark 1.4" in open(spark_release_file).read():
pyspark_submit_args = os.environ.get("PYSPARK_SUBMIT_ARGS", "")
if not "pyspark-shell" in pyspark_submit_args: pyspark_submit_args += " pyspark-shell"
os.environ["PYSPARK_SUBMIT_ARGS"] = pyspark_submit_args
# Add the spark python sub-directory to the path
sys.path.insert(0, spark_home + "/python")
# Add the py4j to the path.
# You may need to change the version number to match your install
sys.path.insert(0, os.path.join(spark_home, "python/lib/py4j-0.8.2.1-src.zip"))
# Initialize PySpark to predefine the SparkContext variable 'sc'
execfile(os.path.join(spark_home, "python/pyspark/shell.py"))
然后我 运行 ipython notebook --profile=pyspark
笔记本工作正常,但无法识别 sc
(spark 上下文)。
有人设法用 Spark 1.5.1
做到这一点吗?
编辑:您可以按照本指南进行操作
我安装了Jupyter,确实比你想象的要简单:
- 为 OSX 安装 anaconda。
安装jupyter typing the next line in your terminal Click me for more info.
ilovejobs@mymac:~$ conda install jupyter
更新 jupyter 以防万一
ilovejobs@mymac:~$ conda update jupyter
下载Apache Spark and compile it, or download and uncompress Apache Spark 1.5.1 + Hadoop 2.6.
ilovejobs@mymac:~$ cd Downloads ilovejobs@mymac:~/Downloads$ wget http://www.apache.org/dyn/closer.lua/spark/spark-1.5.1/spark-1.5.1-bin-hadoop2.6.tgz
在您的家中创建一个
Apps
文件夹(即):ilovejobs@mymac:~/Downloads$ mkdir ~/Apps
将未压缩的文件夹
spark-1.5.1
移动到~/Apps
目录。ilovejobs@mymac:~/Downloads$ mv spark-1.5.1/ ~/Apps
移动到
~/Apps
目录并验证 spark 是否存在。ilovejobs@mymac:~/Downloads$ cd ~/Apps ilovejobs@mymac:~/Apps$ ls -l drwxr-xr-x ?? ilovejobs ilovejobs 4096 ?? ?? ??:?? spark-1.5.1
这是第一个棘手的部分。将 spark 二进制文件添加到您的
$PATH
:ilovejobs@mymac:~/Apps$ cd ilovejobs@mymac:~$ echo "export $HOME/apps/spark/bin:$PATH" >> .profile
这是第二个棘手的部分。还添加此环境变量:
ilovejobs@mymac:~$ echo "export PYSPARK_DRIVER_PYTHON=ipython" >> .profile ilovejobs@mymac:~$ echo "export PYSPARK_DRIVER_PYTHON_OPTS='notebook' pyspark" >> .profile
获取配置文件以使这些变量可用于此 终端
ilovejobs@mymac:~$ source .profile
创建一个
~/notebooks
目录。ilovejobs@mymac:~$ mkdir notebooks
移动到
~/notebooks
和 运行 pyspark:ilovejobs@mymac:~$ cd notebooks ilovejobs@mymac:~/notebooks$ pyspark
请注意,您可以将这些变量添加到位于您家中的 .bashrc
。
现在开心点,你应该可以 运行 带有 pyspark 内核的 jupyter(它将显示为 python 2 但它会使用 spark)
带 IPython/Jupyter 笔记本的 Spark 很棒,我很高兴 Alberto 能够帮助您使用它。
作为参考,还值得考虑 2 个预先打包好的替代方案,它们可以轻松集成到 YARN 集群中(如果需要)。
Spark 笔记本:https://github.com/andypetrella/spark-notebook
阿帕奇飞艇:https://zeppelin.incubator.apache.org/
在撰写本文时,Spark Notebook (v0.6.1) 更加成熟,您可以在此处针对您的 Spark 和 Hadoop 版本预构建安装:http://spark-notebook.io/
Zeppelin (v0.5) 看起来很有前途,但目前提供的功能不如 Spark Notebook 或 IPython with Spark。
仅供参考,您可以 运行 Scala、PySpark、SparkR 和 SQL 通过 https://github.com/ibm-et/spark-kernel now. The new interpreters were added (and marked experimental) from pull request https://github.com/ibm-et/spark-kernel/pull/146 在 Jupyter 上使用 Spark 运行ning。
有关详细信息,请参阅 language support 维基页面。
首先,请确保您的机器中有 spark 环境。
然后,通过 pip 安装 python 模块 findspark
:
$ sudo pip install findspark
然后在python shell:
import findspark
findspark.init()
import pyspark
sc = pyspark.SparkContext(appName="myAppName")
现在您可以在 python shell(或 ipython)中使用 pyspark 做您想做的事了。
实际上,在我看来,这是在 jupyter 中使用 spark 内核的最简单方法