AWS Glue看起来很有前途,但是我在开发周期上遇到了挑战。如果我通过AWS控制台编辑PySpark脚本,即使在最小的测试数据集上也要花费几分钟的时间。这使得遍历一个挑战迅速,如果我要等待3-5分钟,只是为了看看我是否呼吁正确的方法glueContext
或者了解一个特定的DynamicFrame
行为。
什么方法可以让我更快地迭代?
我想我可以在本地开发Spark代码,并将其部署到Glue作为执行框架。但是,如果我需要用胶专用扩展测试代码,我卡住了。
答案 0 :(得分:2)
对于开发和测试脚本,Glue具有Development Endpoints,您可以将其安装在local machine或Amazon EC2 instance上的Zeppelin之类的笔记本上(其他选项为'REPL Shell'和'PyCharm专业”)。
自you pay for it even if it's idling起,完成测试后,请不要忘记删除端点。
答案 1 :(得分:0)
我保持在单独的类文件并胶水代码在另一个文件pyspark代码。我们仅使用胶水读取和写入数据。我们在本地计算机上使用pytest进行测试驱动的开发。无需开发端点或齐柏林飞艇。一旦在pyspark中修复了所有特定于语法或业务逻辑的错误,就可以使用胶水进行端到端测试。我们也写shell脚本,其中最新的上传代码,S3存储从胶作业运行。