如何在没有开发端点的情况下测试 AWS Glue 代码
How to test AWS Glue code without dev endpoint
我想避免使用 AWS 开发端点。有没有一种方法可以在不使用 AWS 开发端点的情况下借助在本地 notebook/IDE 中测试我的代码来测试和调试我的 PySpark 代码?
我们使用pytest 来测试pyspark 代码。我们将 pyspark 代码保存在另一个文件中,并将这些函数调用到 inglue 代码文件中。通过这种分离,我们可以使用 pytest
对 pyspark 代码进行单元测试
我们在这里有一个设置,我们在本地安装了 pyspark,我们使用 VSCode 来开发我们的 pyspark 代码、单元测试和调试。我们 运行 在开发期间针对本地 pyspark 安装的代码,然后我们将这些代码部署到 EMR 以 运行 使用真实数据集。
我不确定这在多大程度上适用于您尝试使用 Glue 执行的操作,因为它的抽象级别更高。
如果您要在 AWS Glue 服务上部署 pyspark 代码,您可能必须使用 GlueContext 和其他 AWS Glue API。因此,如果您想使用这些 AWS Glue API 来针对 AWS Glue 服务进行测试,那么您必须拥有一个 AWS Dev Endpoint。
但是,拥有 AWS Glue 笔记本是可选的,因为您可以设置 zeppelin 等,与 AWS Glue DEP 建立 ssh 隧道连接,以便从本地环境进行开发/测试。请务必在 development/testing 当天完成后删除 DEPoint。
或者,如果您不喜欢使用 GlueContext 以外的 AWS Glue API,那么可以,您可以在本地环境中设置 zeppelin,在本地测试代码,然后将代码上传到 S3,创建一个 Glue 作业进行测试在 AWS Glue 服务中
正如其他人所说,这取决于您要使用 Glue 的哪一部分。如果您的代码基于纯 Spark,没有动态框架等。那么本地版本的 Spark 可能就足够了,但是如果您打算使用 Glue 扩展,那么在这个阶段实际上没有不使用 Dev End 点的选项。
希望对您有所帮助。
我能够在没有开发端点的情况下进行测试
请按照此处的说明进行操作
https://support.wharton.upenn.edu/help/glue-debugging
我想避免使用 AWS 开发端点。有没有一种方法可以在不使用 AWS 开发端点的情况下借助在本地 notebook/IDE 中测试我的代码来测试和调试我的 PySpark 代码?
我们使用pytest 来测试pyspark 代码。我们将 pyspark 代码保存在另一个文件中,并将这些函数调用到 inglue 代码文件中。通过这种分离,我们可以使用 pytest
对 pyspark 代码进行单元测试我们在这里有一个设置,我们在本地安装了 pyspark,我们使用 VSCode 来开发我们的 pyspark 代码、单元测试和调试。我们 运行 在开发期间针对本地 pyspark 安装的代码,然后我们将这些代码部署到 EMR 以 运行 使用真实数据集。
我不确定这在多大程度上适用于您尝试使用 Glue 执行的操作,因为它的抽象级别更高。
如果您要在 AWS Glue 服务上部署 pyspark 代码,您可能必须使用 GlueContext 和其他 AWS Glue API。因此,如果您想使用这些 AWS Glue API 来针对 AWS Glue 服务进行测试,那么您必须拥有一个 AWS Dev Endpoint。
但是,拥有 AWS Glue 笔记本是可选的,因为您可以设置 zeppelin 等,与 AWS Glue DEP 建立 ssh 隧道连接,以便从本地环境进行开发/测试。请务必在 development/testing 当天完成后删除 DEPoint。
或者,如果您不喜欢使用 GlueContext 以外的 AWS Glue API,那么可以,您可以在本地环境中设置 zeppelin,在本地测试代码,然后将代码上传到 S3,创建一个 Glue 作业进行测试在 AWS Glue 服务中
正如其他人所说,这取决于您要使用 Glue 的哪一部分。如果您的代码基于纯 Spark,没有动态框架等。那么本地版本的 Spark 可能就足够了,但是如果您打算使用 Glue 扩展,那么在这个阶段实际上没有不使用 Dev End 点的选项。
希望对您有所帮助。
我能够在没有开发端点的情况下进行测试
请按照此处的说明进行操作 https://support.wharton.upenn.edu/help/glue-debugging