【问题标题】:How to test AWS Glue code without dev endpoint如何在没有开发端点的情况下测试 AWS Glue 代码
【发布时间】:2019-07-17 23:34:01
【问题描述】:

我想避免使用 AWS 开发端点。有没有一种方法可以在本地笔记本/IDE 中测试我的代码的帮助下,在不使用 AWS 开发端点的情况下测试和调试我的 PySpark 代码?

【问题讨论】:

    标签: amazon-web-services jupyter-notebook endpoint aws-glue


    【解决方案1】:

    正如其他人所说,这取决于您要使用胶水的哪一部分。如果您的代码基于纯 Spark,没有动态框架等。那么本地版本的 Spark 可能就足够了,但是如果您打算使用 Glue 扩展,则在此阶段实际上没有不使用 Dev End 点的选项。

    我希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      如果您要在 AWS Glue 服务上部署 pyspark 代码,您可能必须使用 GlueContext 和其他 AWS Glue API。因此,如果您想针对 AWS Glue 服务进行测试,使用这些 AWS Glue API,那么您必须拥有一个 AWS 开发终端节点。

      但是,拥有 AWS Glue 笔记本是可选的,因为您可以设置 zeppelin 等。与 AWS Glue DEP 建立 ssh 隧道连接,以便从本地环境进行开发/测试。确保在当天完成开发/测试后删除 DEPoint。

      或者,如果您不热衷于使用 GlueContext 以外的 AWS Glue API,那么可以,您可以在本地环境中设置 zeppelin,在本地测试代码,然后将代码上传到 S3,创建一个 Glue 作业以在 AWS 中进行测试胶水服务

      【讨论】:

        【解决方案3】:

        我们在这里有一个设置,我们在本地安装了 pyspark,我们使用 VSCode 来开发我们的 pyspark 代码、单元测试和调试。我们在开发过程中针对本地 pyspark 安装运行代码,然后将这些代码部署到 EMR 以使用真实数据集运行。

        我不确定这在多大程度上适用于您尝试使用 Glue 进行的操作,因为它的抽象级别更高。

        【讨论】:

          【解决方案4】:

          我们使用 pytest 来测试 pyspark 代码。我们将 pyspark 代码保存在另一个文件中,并调用这些函数 inglue 代码文件。通过这种分离,我们可以使用 pytest 对 pyspark 代码进行单元测试

          【讨论】:

          • 你能详细一点吗?你是如何配置 pytest 的?
          【解决方案5】:

          我能够在没有开发端点的情况下进行测试

          请按照此处的说明进行操作 https://support.wharton.upenn.edu/help/glue-debugging

          【讨论】:

            猜你喜欢
            • 2018-07-08
            • 2019-12-17
            • 1970-01-01
            • 2014-12-26
            • 1970-01-01
            • 2020-06-23
            • 1970-01-01
            • 1970-01-01
            • 2019-02-17
            相关资源
            最近更新 更多