如何在没有dev端点的情况下测试AWS Glue代码

问题描述 投票:2回答:4

我想避免AWS dev端点。有没有办法在不使用AWS dev端点的情况下测试和调试我的PySpark代码,并在本地笔记本/ IDE中测试我的代码?

amazon-web-services jupyter-notebook endpoint aws-glue
4个回答
0
投票

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

我不确定这对于你正在尝试用Glue做什么有多少,因为它在抽象方面要高一些。


0
投票

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


0
投票

如果您要在AWS Glue服务上部署pyspark代码,则可能必须使用GlueContext和其他AWS Glue API。因此,如果您想使用这些AWS Glue API测试AWS Glue服务,那么您必须拥有AWS Dev Endpoint。

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

或者,如果您不喜欢使用除GlueContext之外的AWS Glue API,那么是的,您可以在本地环境中设置zeppelin,在本地测试代码,然后将代码上传到S3,创建用于在AWS Glue Service中测试的Glue作业


0
投票

正如其他人所说,这取决于你要使用哪种胶水。如果您的代码基于纯Spark,没有动态帧等等。那么本地版本的Spark可能就足够了,如果您打算使用Glue扩展,那么在这个阶段实际上没有选择不使用Dev End点。

我希望这个对你有用。

© www.soinside.com 2019 - 2024. All rights reserved.