Numpy 引导操作后EMR上的导入错误
我正在EMR集群上运行引导操作,并在使用以下内容运行需求文本文件后检查numpy版本:Numpy 引导操作后EMR上的导入错误,numpy,pyspark,pip,amazon-emr,Numpy,Pyspark,Pip,Amazon Emr,我正在EMR集群上运行引导操作,并在使用以下内容运行需求文本文件后检查numpy版本: sudo python3 -c "try: import numpy print(\"numpy_version\", numpy.version.version) except: pass" 我得到了需求文本文件(1.15.4)中指定的正确版本;但是,作业开始运行后,我得到: ImportError: Matplotlib requires
sudo python3 -c "try:
import numpy
print(\"numpy_version\", numpy.version.version)
except:
pass"
我得到了需求文本文件(1.15.4)中指定的正确版本;但是,作业开始运行后,我得到:
ImportError: Matplotlib requires numpy>=1.15; you have 1.14.5
引导操作和还原numpy版本的作业步骤之间到底发生了什么情况?这表示应用程序设置降低了numpy的版本 此问题的解决方法是使用启动另一个后台进程的引导操作
后台进程应升级numpy的版本,并应在应用程序设置之后立即运行。您能看到
pyspark
的输出吗?它正在运行python3吗?这是pyspark的输出,它正在运行python3。基本上,如果我在pyspark中导入numpy,它将恢复到旧版本。这几乎就像亚马逊端的东西正在安装一个旧版本的numpy。这不是spark submit的输出吗?请您在控制台中编写pyspark,让我知道它打印的是什么版本,您如何知道spark实际运行的是python3?引导程序在应用程序配置之前运行,应用程序设置降级numpy的版本会说,在设置后运行后台进程作为引导操作来升级numpy,然后退出