当前位置: 首页 > 知识库问答 >
问题:

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

伯和蔼
2023-03-14

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

共有3个答案

柴宝
2023-03-14

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

漆雕育
2023-03-14

我和一位AWS销售工程师谈过,他们说不行,只能通过运行Glue转换(在云中)来测试Glue代码。他提到,有一种叫做前哨站的东西正在测试,以允许在prem上进行操作,但目前还没有公开提供。因此,这似乎是一个坚定的“不”,这是一个遗憾,因为它在其他方面似乎很好。但如果没有单元测试,我就没办法了。

钦侯林
2023-03-14

最终,到2019年8月28日,Amazon允许您下载二进制文件和

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

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

 类似资料:
  • 我每天都有csv文件被传递到S3,这些文件在当月是增量的。所以file1包含第1天的数据,file2包含第1天和第2天的数据,等等。每天我都想对该数据运行一个ETL并将其写入不同的S3位置,这样我就可以使用Athena查询它,而不会出现重复的行。本质上,我只想查询聚合数据的最新状态(这只是最近交付给S3的文件的内容)。 我认为书签不会起作用,因为增量交付包含以前文件中的数据,因此会产生重复。我知道

  • 打开上一节(1.2)中由Emscripten生成的JavaScript胶水代码hello.js,我们可以发现,大多数的操作,都围绕全局对象Module展开,而该对象正是Emscripten程序运行时的核心所在。 tips 跳过1.3.1以及1.3.2不会影响后续章节的阅读。但如果您对Emscripten模块载入等细节感兴趣,本节内容将有助于理解胶水代码的结构。随着Emscripten的版本升级,其

  • 我已经创建了一个成功执行的AWS胶水作业。但是,我无法在作业中放置任何自定义日志记录。 如何在AWS S3存储桶中创建日志文件,以便跟踪日常作业执行情况? 目前,当我的工作执行时,它会创建默认日志(即火花日志),我可以在AWS云手表中看到它。在AWS胶水中记录事件的最佳实践是什么?

  • 我需要对S3 bucket执行附加加载。 每天都有新的. gz文件被转储到S3位置,胶水爬虫读取数据并在数据曲库中更新它。 Scala AWS Glue作业运行并仅过滤当前日期的数据。 上面过滤的数据按照一些规则进行转换,并创建一个分区的动态数据帧(即年、月、日)级别。 现在,我需要将这个动态数据帧写入到S3 bucket中,其中包含所有前一天的分区。事实上,我只需要将一个分区写入S3存储桶。目前

  • 我有一个S3存储桶,每天的文件都会被丢弃。AWS爬虫从该位置爬网数据。在我的glue作业运行的第一天,它将获取AWS crawler创建的表中的所有数据。例如,在第一天就有三个文件。(即file1.txt、file2.txt、file3.txt)和glue job在执行glue job的第一天处理这些文件。第二天,另两个文件到达S3位置。现在,在S3位置,这些是存在的文件。(即file1.txt、

  • 我将< code>cucumber-groovy与基于maven的框架一起使用,但找不到stepDefinitions的粘合点。获取在特征文件中没有匹配的粘合代码。这是cucumber专家项目。我已经将特征文件夹转换为“源文件夹”。 错误: 这是我的测试跑步者CucumberOptions: