如何在没有开发人员终端节点的情况下测试AWS Glue代码

时间:2019-02-24 11:23:14

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

我想避免使用AWS开发人员终端节点。有没有一种方法可以在本地笔记本电脑/ IDE中测试代码的情况下,无需使用AWS开发终端节点来测试和调试PySpark代码?

5 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

我不确定其中有多少适用于您要使用Glue进行的操作,因为它的抽象程度更高。

答案 2 :(得分:0)

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

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

或者,如果您不愿意使用除GlueContext之外的AWS Glue API,那么可以,您可以在本地环境中设置齐柏林飞艇,在本地测试代码,然后将代码上传到S3,创建一个Glue作业以在AWS中进行测试胶水服务

答案 3 :(得分:0)

正如其他人所说,这取决于您要使用哪一部分胶水。如果您的代码基于纯Spark,而没有Dynamic Frames等。那么本地版本的Spark可能就足够了,但是,如果您打算使用Glue扩展,那么在此阶段不存在不使用Dev Endpoint的选择。

我希望这会有所帮助。

答案 4 :(得分:0)

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

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