为啥 AWS Glue 不生成火花事件日志

Posted

技术标签:

【中文标题】为啥 AWS Glue 不生成火花事件日志【英文标题】:Why doesn't AWS Glue generate spark event logs为什么 AWS Glue 不生成火花事件日志 【发布时间】:2021-02-01 03:24:05 【问题描述】:

我有一个 AWS 粘合作业,按照以下说明启用了 Spark UI:Enabling the Spark UI for Jobs

粘合作业具有 s3:* 访问 arn:aws:s3:::my-spark-event-bucket/* 资源的权限。但由于某种原因,当我运行胶水作业时(它在 40-50 秒内成功完成并成功生成了输出 parquet 文件),它不会向目标 s3 路径生成任何火花事件日志。我想知道可能出了什么问题,是否有任何系统的方法可以让我查明根本原因。

【问题讨论】:

在运行结束时仔细检查 Amazon S3 prefix for Spark event logs 是否具有预期的 S3 路径。还值得您检查是否在S3 path where the script is stored 上创建了事件日志。 我也有同样的问题。在运行期间,我可以看到在/tmp/spark-event-logs/ 中创建了一个名为spark-application-1612277620995.inprogress 的文件,但最后在指定的存储桶中看不到日志。我尝试为粘合 IAM 角色授予更多权限,但这无济于事。我也在不同的帐户中尝试过,但它不起作用。 【参考方案1】:

您的 Glue 作业运行了多长时间?

我发现执行时间短(少于或大约 1 分钟)的作业无法可靠地在 S3 中生成 Spark UI 日志。

AWS 文档指出“每 30 秒,AWS Glue 将 Spark 事件日志刷新到您指定的 Amazon S3 路径。”短作业不生成 Spark UI 日志的原因可能与这样做。

如果您的作业执行时间很短,请尝试向作业添加额外的步骤,甚至暂停/等待以延长执行时间。这应该有助于确保将 Spark UI 日志发送到 S3。

【讨论】:

以上是关于为啥 AWS Glue 不生成火花事件日志的主要内容,如果未能解决你的问题,请参考以下文章

将文件上传到 S3 存储桶后,AWS Glue Crawler 的基于事件的触发器?

查找或恢复已删除的 AWS 粘合作业

如何仅为 AWS Glue 脚本启用粘合日志记录

AWS 事件总线无法将日志写入来自 AWS Lambda 的自定义日志组上的 CloudWatch

在 Amazon Redshift 日志上运行 AWS Glue 爬虫会创建大量表

AWS CloudWatch 中的指标、日志和事件之间有啥区别? [关闭]