为啥 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 Lambda 的自定义日志组上的 CloudWatch