jupyter pyspark输出:无模块名称sknn.mlp

jupyter pyspark输出:无模块名称sknn.mlp,pyspark,jupyter,jupyter-notebook,azure-hdinsight,Pyspark,Jupyter,Jupyter Notebook,Azure Hdinsight,我有1个WorkerNode SPARK HDInsight群集。我需要在Pyspark Jupyter中使用scikit neuralnetwork和VaderMotion模块 使用以下命令安装库: cd /usr/bin/anaconda/bin/ export PATH=/usr/bin/anaconda/bin:$PATH conda update matplotlib conda install Theano pip install scikit-neuralnetwork

我有1个WorkerNode SPARK HDInsight群集。我需要在Pyspark Jupyter中使用scikit neuralnetwork和VaderMotion模块

使用以下命令安装库:

cd /usr/bin/anaconda/bin/

export PATH=/usr/bin/anaconda/bin:$PATH

conda update matplotlib

conda install Theano

pip install scikit-neuralnetwork

pip install vaderSentiment
接下来,我打开pyspark终端,我能够成功导入模块。下面是截图

现在,我打开Jupyter Pyspark笔记本:

只是补充一下,我可以像“导入熊猫”一样从Jupyter导入预装模块

安装到:

admin123@hn0-linuxh:/usr/bin/anaconda/bin$ sudo find / -name "vaderSentiment"
/usr/bin/anaconda/lib/python2.7/site-packages/vaderSentiment
/usr/local/lib/python2.7/dist-packages/vaderSentiment
对于预装模块:

admin123@hn0-linuxh:/usr/bin/anaconda/bin$ sudo find / -name "pandas"
/usr/bin/anaconda/pkgs/pandas-0.17.1-np19py27_0/lib/python2.7/site-packages/pandas
/usr/bin/anaconda/pkgs/pandas-0.16.2-np19py27_0/lib/python2.7/site-packages/pandas
/usr/bin/anaconda/pkgs/bokeh-0.9.0-np19py27_0/Examples/bokeh/compat/pandas
/usr/bin/anaconda/Examples/bokeh/compat/pandas
/usr/bin/anaconda/lib/python2.7/site-packages/pandas
sys.executable path在Jupyter和terminal中都是相同的

print(sys.executable)
/usr/bin/anaconda/bin/python

任何帮助都将不胜感激。

问题是,当您在headnode(其中一个VM)上安装它时,您并没有在所有其他VM(工作节点)上安装它。当创建Jupyter的Pyspark应用程序时,它将以纱线集群模式运行,因此应用程序主节点将在随机工作节点中启动

在所有工作节点中安装库的一种方法是创建针对工作节点运行的脚本操作,并安装必要的库:

请注意,集群中有两个python安装,您必须明确地引用Anaconda安装。安装scikit neuralnetwork的外观如下:

sudo /usr/bin/anaconda/bin/pip install scikit-neuralnetwork
第二种方法是从headnode简单地ssh到workernodes。首先,通过ssh连接到headnode,然后通过访问Ambari找到workernode IP:。然后,
ssh 10.0.0.#
并自己为所有工作节点执行安装命令

我为scikit neuralnetwork做了这件事,虽然它确实正确导入了,但它抛出了一个声明,说它无法在~/.theano中创建文件。由于Tharen正在以
nobody
用户的身份运行Pyspark会话,因此Theano无法创建其配置文件。通过深入研究,我发现有一种方法可以改变Theano写入/查找其配置文件的位置。安装时请注意以下事项:

忘了提到,要修改env变量,您需要在创建pyspark会话时设置变量。在Jupyter笔记本中执行此操作:

%%configure -f
{
    "conf": {
        "spark.executorEnv.THEANORC": "{YOURPATH}",
        "spark.yarn.appMasterEnv.THEANORC": "{YOURPATH}"
    }
}

谢谢

问题在于,当您在headnode(其中一个VM)上安装它时,您没有在所有其他VM(工作节点)上安装它。当创建Jupyter的Pyspark应用程序时,它将以纱线集群模式运行,因此应用程序主节点将在随机工作节点中启动

在所有工作节点中安装库的一种方法是创建针对工作节点运行的脚本操作,并安装必要的库:

请注意,集群中有两个python安装,您必须明确地引用Anaconda安装。安装scikit neuralnetwork的外观如下:

sudo /usr/bin/anaconda/bin/pip install scikit-neuralnetwork
第二种方法是从headnode简单地ssh到workernodes。首先,通过ssh连接到headnode,然后通过访问Ambari找到workernode IP:。然后,
ssh 10.0.0.#
并自己为所有工作节点执行安装命令

我为scikit neuralnetwork做了这件事,虽然它确实正确导入了,但它抛出了一个声明,说它无法在~/.theano中创建文件。由于Tharen正在以
nobody
用户的身份运行Pyspark会话,因此Theano无法创建其配置文件。通过深入研究,我发现有一种方法可以改变Theano写入/查找其配置文件的位置。安装时请注意以下事项:

忘了提到,要修改env变量,您需要在创建pyspark会话时设置变量。在Jupyter笔记本中执行此操作:

%%configure -f
{
    "conf": {
        "spark.executorEnv.THEANORC": "{YOURPATH}",
        "spark.yarn.appMasterEnv.THEANORC": "{YOURPATH}"
    }
}

谢谢

解决这个问题的简单方法是:

  • 创建bash脚本

    cd/usr/bin/anaconda/bin/

    导出路径=/usr/bin/anaconda/bin:$PATH

    conda更新matplotlib

    conda安装Theano

    pip安装scikit神经网络

    pip安装阀

  • 将上面创建的bash脚本复制到Azure存储帐户中的任何容器

  • 创建HDInsight Spark群集时,请使用脚本操作并在URL中提及上述路径。例如:https://sa帐户名.blob.core.windows.net/containername/path of installation file.sh
  • 在头节点和工作节点中安装它
  • 现在,打开Jupyter,您应该能够导入模块

  • 解决这个问题的简单方法是:

  • 创建bash脚本

    cd/usr/bin/anaconda/bin/

    导出路径=/usr/bin/anaconda/bin:$PATH

    conda更新matplotlib

    conda安装Theano

    pip安装scikit神经网络

    pip安装阀

  • 将上面创建的bash脚本复制到Azure存储帐户中的任何容器

  • 创建HDInsight Spark群集时,请使用脚本操作并在URL中提及上述路径。例如:https://sa帐户名.blob.core.windows.net/containername/path of installation file.sh
  • 在头节点和工作节点中安装它
  • 现在,打开Jupyter,您应该能够导入模块

  • 这对你有帮助吗?如果有,请接受答案:)这对你有帮助吗?如果有,请接受答案:)