我创建了一个成功执行的AWS粘合作业。但是,我无法将任何自定义日志记录放入作业中。
如何在AWS S3存储桶中创建日志文件,以便跟踪日常作业的执行情况?
当前,当我的作业执行时,它会创建默认日志(即Spark日志),我可以在AWS云监视中看到它。在AWS粘合中记录事件的最佳实践是什么?
答案 0 :(得分:0)
AWS Glue旨在通过CloudWatch(see this documentation for details)进行最佳日志记录。由于您的日志太大而无法确定根本原因,并且没有任何事件可以挂接到与@varnit的建议一致的CloudWatch中,因此我们可以做下最好的事情:创建一个CloudWatch仪表板,并使用查询来过滤版本的日志。
在CloudWatch控制台上,导航到“仪表板”,然后选择“创建仪表板”。将其命名为有意义的名称(例如,“ glue-custom-logs”)。继续,我们将添加并配置“查询结果”窗口小部件。选择日志流,如果使用默认值,则选择“ / aws-glue / jobs / error”,请注意,如果使用的是普通的python打印,则Glue默认为错误流。选择一个合理的时间窗口作为回溯时间,以便对结果进行预过滤。
如果您的自定义日志消息中具有唯一标识符,例如“ glue-custom-log”,我们现在可以轻松编写查询以过滤结果:
fields @timestamp, @message
| filter @message like 'glue-custom-log'
| sort @timestamp desc
保存小部件,保存仪表板,现在您可以在CloudWatch中轻松访问预先过滤的日志,以满足您的自定义日志记录需求。