6

我正在使用通过使用( )安装的PySpark内核。从 获取表格后,按照以下教程在 Jupyter 笔记本中绘制一些图表:Apache ToreeJupyter NotebookAnaconda v4.0.0Python 2.7.11Hivematplotlib/panda

%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 MagicMagicManager,我意识到这%matplotlib是调用MagicManager而不是iPython内置的魔法命令。

是否可以Apache Toree - PySpark改用 iPython 内置魔法命令?

4

1 回答 1

1

我为 PySpark 和魔术命令工作做了一个解决方法,而不是安装Toree PySpark kernel我正在使用的PySpark directly on Jupyter Notebook.

  1. 下载并安装Anaconda2 4.0.0

  2. 下载Spark 1.6.0预建的Hadoop 2.6

  3. 附加~/.bashrc以下命令并输入source ~/.bashrc以更新环境变量

    # 添加到运行 spark
    export PATH="{your_spark_dir}spark/sbin:$PATH"
    export PATH="{your_spark_dir}spark/bin:$PATH"

    # 添加以在集群模式下启动 spark 应用程序
    export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre

    # 接下来两行是可选的,只需要 Spark Cluster export HADOOP_CONF_DIR={your_hadoop_conf}/hadoop-conf
    export YARN_CONF_DIR={your_hadoop_conf}/hadoop-conf

    # 由 Anaconda2 4.0.0 安装程序添加
    export PATH="{your_anaconda_dir}/Anaconda/bin:$PATH"

    # 添加以在 jupyter notebook 中运行 pyspark
    export PYSPARK_DRIVER_PYTHON={your_anaconda_dir}/Anaconda/bin/jupyter
    export PYSPARK_DRIVER_PYTHON_OPTS="notebook --NotebookApp.open_browser=False --NotebookApp.ip='0.0.0.0' --NotebookApp.port=8888 "
    导出 PYSPARK_PYTHON={your_anaconda_dir}/Anaconda/bin/python

运行 Jupyter Notebook

  1. pyspark --master=yarn --deploy-mode=client启动笔记本运行PySpark in cluster mode

  2. 打开浏览器并输入IP_ADDRESS_OF_COMPUTER:8888

免责声明这只是一种解决方法,而不是解决问题的实际方法,如果您找到了ipython inbuild magic 命令工作
的方法,请告诉我。Toree PySpark魔术命令如%matplotlib notebook

于 2016-09-26T02:07:26.923 回答