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

时间:2016-09-19 09:44:18

标签: matplotlib ipython pyspark jupyter apache-toree

我使用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内联显示

时,我被困在第一个链接
Name: Error parsing magics!
Message: Magics [matplotlib] do not exist!
StackTrace:

查看Toree MagicMagicManager,我意识到%matplotlib正在调用MagicManager而不是iPython in-build magic命令。

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

1 个答案:

答案 0 :(得分: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
    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

    #next 2行是可选的,只需要Spark Cluster 导出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笔记本中运行pyspark
    导出PYSPARK_DRIVER_PYTHON = {your_anaconda_dir} / Anaconda / bin / jupyter
    导出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

  4. 运行Jupyter笔记本

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

    2. 的笔记本
    3. 打开浏览器并输入IP_ADDRESS_OF_COMPUTER:8888

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