我使用PySpark
内核通过Apache Toree
安装在Jupyter Notebook
使用Anaconda v4.0.0
(Python 2.7.11
)。从Hive
获得表格后,使用matplotlib/panda
在Jupyter笔记本中绘制一些图形,按照下面的教程:
%matplotlib inline
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# Set some Pandas options
pd.set_option('display.notebook_repr_html', False)
pd.set_option('display.max_columns', 20)
pd.set_option('display.max_rows', 25)
normals = pd.Series(np.random.normal(size=10))
normals.plot()
当我试图使用%matplotlib inline显示
时,我被困在第一个链接上Name: Error parsing magics!
Message: Magics [matplotlib] do not exist!
StackTrace:
看着Toree Magic和MagicManager,我意识到%matplotlib
正在调用MagicManager
而不是iPython
内置魔术命令。
Apache Toree - PySpark
是否可以使用iPython内置魔法命令代替?
我为PySpark和magic命令工作做了一个变通hack,而不是安装Toree PySpark kernel
,我使用PySpark directly on Jupyter Notebook
。
-
下载并安装
Anaconda2 4.0.0
-
下载
Spark 1.6.0
预建Hadoop 2.6
-
在
~/.bashrc
后面加上以下命令,并输入source ~/.bashrc
更新环境变量#添加到运行spark
导出路径= " {your_spark_dir}/sbin火花:$路径"
导出路径= " {your_spark_dir}/bin火花:$路径"#添加在集群模式下启动spark应用程序
出口JAVA_HOME =/usr/lib/jvm/java-8-openjdk-amd64/jre#下两行是可选的,只需要Spark Cluster出口HADOOP_CONF_DIR = {your_hadoop_conf}/hadoop-conf
export YARN_CONF_DIR={your_hadoop_conf}/hadoop-conf#添加Anaconda2 4.0.0 installer
export PATH="{your_anaconda_dir}/Anaconda/bin:$PATH"#添加在jupyter notebook中运行pyspark
出口PYSPARK_DRIVER_PYTHON = {your_anaconda_dir}/蟒蛇/bin/jupyter
export PYSPARK_DRIVER_PYTHON_OPTS="notebook -NotebookApp. exe "open_browser=False——NotebookApp.ip='0.0.0.0'——NotebookApp.port= ' 8888 ' "
export PYSPARK_PYTHON={your_anaconda_dir}/Anaconda/bin/python
运行Jupyter Notebook
-
pyspark --master=yarn --deploy-mode=client
启动笔记本运行PySpark in cluster mode
-
打开浏览器,输入
IP_ADDRESS_OF_COMPUTER:8888
免责声明
这只是一个解决方法,而不是解决问题的实际方法,请让我知道如果你找到了Toree PySpark
ipython inbuild魔法命令工作的方法。Magic命令,如%matplotlib notebook