在EMR中运行Jupyter笔记本时,没有名为“ pyspark”的模块

我通常对AWS和Spark不熟悉(很新),并且正在尝试在Amazon EMR中运行笔记本实例。当我尝试导入pyspark启动会话并从s3加载数据时,出现错误No module named'pyspark'。我创建的集群填充了Spark选项,我在做什么错了?

haowentao2009 回答:在EMR中运行Jupyter笔记本时,没有名为“ pyspark”的模块

您可以打开jupyter实验室笔记本,然后从那里选择新的spark笔记本。 这将自动为您启动spark上下文。

enter image description here

或者您可以通过%%spark

打开Jupyter笔记本并加载spark应用

enter image description here

,

对我而言唯一有效的解决方案是将笔记本内核更改为PySpark内核,然后更改引导程序操作以安装pyspark内核默认情况下不存在的软件包(在python version3.6中):

#!/bin/bash
sudo python3.6 -m pip install numpy \
    matplotlib \
    pandas \
    seaborn \
    pyspark

显然,默认情况下,它安装在python 2.7.16中,因此它不会输出任何错误消息,但是您不能导入模块,因为spark env使用Python 2.7.16。

,

您可以尝试使用 findspark 库。 可以在您的 jupyter 中 pip install findspark 和以下代码。

import findspark
findspark.init()

%load_ext sparksql_magic
%config SparkSql.limit=200
本文链接:https://www.f2er.com/3070590.html

大家都在问