AWS Glue看起来很有希望,但我在开发周期上遇到了挑战。如果我通过亚马逊网络服务控制台编辑PySpark脚本,即使在最小的测试数据集上运行也需要几分钟。如果我不得不等待3-5分钟来查看我是否在glueContext上调用了正确的方法,或者理解了特定的DynamicFrame行为,这就使得快速迭代成为一个挑战。
有什么技术可以让我迭代得更快?
我想我可以在本地开发Spark代码,并将其部署到Glue作为执行框架。但是,如果我需要使用特定于Glue的扩展来测试代码,我就卡住了。
发布于 2019-02-02 09:21:09
对于开发和测试脚本,胶水有Development Endpoints,你可以使用安装在local machine或Amazon EC2 instance上的齐柏林飞艇等笔记本电脑(其他选项是'REPL Shell‘和'PyCharm Professional')。
在测试完you pay for it even if it's idling之后,请不要忘记删除端点。
发布于 2019-02-02 16:10:55
我将pyspark代码放在单独的类文件中,而把胶水代码放在另一个文件中。我们只使用glue来读写数据。我们在本地机器上使用pytest进行测试驱动开发。不需要开发端点或zeppelin。一旦在pyspark中修复了所有语法或业务逻辑特定的bug,就可以使用glue进行端到端测试。我们还编写了shell脚本,它将最新的代码上传到运行胶水作业的S3存储桶中。
https://stackoverflow.com/questions/54487875
复制相似问题