如何让iPython inbuild magic命令在Jupyter笔记本Pyspark内核中运行?

Ang*_*ear 5 matplotlib ipython pyspark jupyter apache-toree

我使用PySpark通过安装内核Apache ToreeJupyter 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()
Run Code Online (Sandbox Code Playgroud)

当我尝试使用%matplotlib内联显示时,我被困在第一个链接

Name: Error parsing magics!
Message: Magics [matplotlib] do not exist!
StackTrace:
Run Code Online (Sandbox Code Playgroud)

看着Toree MagicMagicManager,我意识到这%matplotlib是在调用in MagicManager而不是iPythonin-build magic命令.

是否可以Apache Toree - PySpark使用iPython in-build magic命令?

Ang*_*ear 1

我为 PySpark 和 magic 命令做了一个解决方法,而不是安装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
    导出 PATH="{your_spark_dir}spark/sbin:$PATH"
    导出 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 安装程序
    添加导出 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 笔记本

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

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

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