在AWS中监控python shell胶粘作业

时间:2020-05-22 00:07:40

标签: python amazon-web-services aws-glue

在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'。似乎python shell作业无法访问胶粘上下文?有人解决了吗?

2 个答案:

答案 0 :(得分:1)

python shell作业是纯粹基于python的环境,无法访问pyspark(后端为EMR)。您将无法在此处访问context属性。这纯粹是一个火花概念,胶水实质上是pyspark的包装材料。

答案 1 :(得分:0)

我正在更多地使用胶水 python shell 作业,并解决在我的 spark 作业和 pyshell 作业之间共享的一些代码文件中的一些依赖项。通过在我的 .egg/.whl 文件的创建中包含在 requirements.txt 中,pyspark==2.4.7,我能够解决 pyspark 依赖项。那个版本是因为另一个库需要它。

您仍然不能使用 Emerson 上面提到的 pyspark 上下文,因为这是 python 运行时,而不是 spark 运行时。

因此,当使用 setuptools 构建发行版时,可以有一个如下所示的 requirements.txt(如下所示),并且在设置 shell 时,它将安装这些依赖项:

<块引用>

弹性搜索
aws_requests_auth
pg8000
pyspark==2.4.7
awsglue 本地