【问题标题】:Monitoring python shell glue jobs in AWS在 AWS 中监控 python shell 粘合作业
【发布时间】:2020-05-22 00:07:40
【问题描述】:

在 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 作业无法访问胶水上下文?有人解决了吗?

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

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

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

      【讨论】:

        猜你喜欢
        • 2022-07-08
        • 2020-05-11
        • 2023-03-28
        • 1970-01-01
        • 1970-01-01
        • 2018-10-31
        • 2017-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多