在AWS文档中,它们指定了如何激活Spark作业(https://docs.aws.amazon.com/glue/latest/dg/monitor-profile-glue-job-cloudwatch-metrics.html)的监视,而不是python shell作业
按原样使用代码会导致以下错误:ModuleNotFoundError: No module named 'pyspark'
更糟糕的是,在注释掉from pyspark.context import SparkContext
之后,我得到了ModuleNotFoundError: No module named 'awsglue.context'
。pythonshell作业似乎无法访问粘合上下文?有人解决了这个问题吗
pythonshell作业纯粹是基于python的环境,不能访问pyspark(后端的EMR)。您将无法访问此处的上下文属性。这纯粹是一个spark概念,glue本质上是pyspark的包装
我正在更多地研究粘合python外壳作业,并解决spark作业和pyshell作业之间共享的一些代码文件中的一些依赖关系。我能够通过在requirements.txt中创建.egg/.whl文件来解决pyspark依赖关系,pyspark==2.4.7。因为另一个库需要该版本
您仍然不能使用Emerson上面提到的pyspark上下文,因为这是python运行时,而不是spark运行时
因此,当使用setuptools构建分发时,可以有一个如下所示的requirements.txt,并且在安装shell时,它将安装这些依赖项:
相关问题 更多 >
编程相关推荐