我可以在本地测试AWS Glue代码吗?

lfk*_*lfk 17 python amazon-web-services aws-glue

在阅读了亚马逊文档之后,我的理解是运行/测试Glue脚本的唯一方法是将其部署到开发端点并在必要时远程调试.同时,如果(Python)代码由多个文件和包组成,则除了主脚本之外的所有代码都需要压缩.所有这些让我觉得Glue不适合任何复杂的ETL任务,因为开发和测试很麻烦.我可以在本地测试我的Spark代码,而无需每次都将代码上传到S3,并在CI服务器上验证测试,而无需支付开发Glue端点.

Bri*_*ian 11

最终,截至 2019 年 8 月 28 日,亚马逊允许您下载二进制文件和

在本地使用 Scala 和 Python 开发、编译、调试和单步执行 Glue ETL 脚本和复杂的 Spark 应用程序。

查看此链接:https : //aws.amazon.com/about-aws/whats-new/2019/08/aws-glue-releases-binaries-of-glue-etl-libraries-for-glue-jobs/


sel*_*lle 7

现在有来自 AWS 的官方 docker,以便您可以在本地执行 Glue: https ://aws.amazon.com/blogs/big-data/building-an-aws-glue-etl-pipeline-locally-without-an- aws-帐户/

该页面上还有一个很好的分步指南


San*_*are 6

您可以将胶水和 pyspark 代码保存在单独的文件中,并且可以在本地对 pyspark 代码进行单元测试。对于压缩依赖文件,我们编写了 shell 脚本来压缩文件并上传到 s3 位置,然后应用 CF 模板来部署胶水作业。为了检测依赖关系,我们创建了 (glue job)_dependency.txt 文件。


non*_*ont 5

我与AWS销售工程师交谈,他们说不,您只能通过运行Glue转换(在云中)来测试Glue代码。他提到,正在测试名为Outpost的东西以允许本地操作,但是尚未公开提供。因此,这似乎是一个可靠的“否”,这很可惜,因为否则它看起来还不错。但是没有单元测试,对我来说就不行了。


Ced*_*icB 2

据我所知,情况并非如此,如果您有很多远程资产,那就会很棘手。使用 Windows,我通常在创作工作时运行开发端点和本地 zeppelin 笔记本。我每天都把它关掉。

您可以使用作业编辑器 > 脚本编辑器来编辑、保存和运行作业。不确定成本差异。