我想避免AWS dev端点。有没有办法在不使用AWS dev端点的情况下测试和调试我的PySpark代码,并在本地笔记本/ IDE中测试我的代码?
我们在这里设置了一个设置,我们在本地安装了pyspark,我们使用VSCode来开发我们的pyspark代码,单元测试和调试。我们在开发期间针对本地pyspark安装运行代码,然后我们将这些代码部署到EMR以使用真实数据集运行。
我不确定这对于你正在尝试用Glue做什么有多少,因为它在抽象方面要高一些。
我们使用pytest来测试pyspark代码。我们将pyspark代码保存在另一个文件中,并将这些函数调用到inglue代码文件中。通过这种分离,我们可以使用pytest对pyspark代码进行单元测试
如果您要在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作业
正如其他人所说,这取决于你要使用哪种胶水。如果您的代码基于纯Spark,没有动态帧等等。那么本地版本的Spark可能就足够了,如果您打算使用Glue扩展,那么在这个阶段实际上没有选择不使用Dev End点。
我希望这个对你有用。