在AWS中监视python外壳粘合作业

2024-05-15 09:43:03 发布

您现在位置:Python中文网/ 问答频道 /正文

在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作业似乎无法访问粘合上下文?有人解决了这个问题吗


Tags: no文档httpsawsdocsamazon作业context
2条回答

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时,它将安装这些依赖项:

elasticsearch
aws_requests_auth
pg8000
pyspark==2.4.7
awsglue-local

相关问题 更多 >