首页 > 解决方案 > 从 Spark 结构化流应用程序写入 S3 的性能问题

问题描述

基本上我正在运行 24 x 7 的结构化流作业,写入 S3。但是遇到了这个问题,即 _spark_metadata 需要数小时才能写入单个文件,在此期间没有新的数据摄取处于活动状态。

知道如何解决此问题并启用无停机时间摄取吗?

19/10/24 00:48:34 INFO ExecutorAllocationManager: Existing executor 40 has been removed (new total is 1)
19/10/24 00:49:03 INFO CheckpointFileManager: Writing atomically to s3a://.../data/_spark_metadata/88429.compact using temp file s3a://.../data/_spark_metadata/.88429.compact.00eb0d4b-ec83-4f8c-9a67-4155918a5f83.tmp
19/10/24 03:32:53 INFO CheckpointFileManager: Renamed temp file s3a://.../data/_spark_metadata/.88429.compact.00eb0d4b-ec83-4f8c-9a67-4155918a5f83.tmp to s3a://brivo-prod-dataplatform-kafka-streaming/data/_spark_metadata/88429.compact
19/10/24 03:32:53 INFO FileStreamSinkLog: Current compact batch id = 88429 min compaction batch id to delete = 88329
19/10/24 03:32:54 INFO ManifestFileCommitProtocol: Committed batch 88429

标签: amazon-s3pysparkapache-kafkaamazon-emrspark-structured-streaming

解决方案


rename 在 s3 上模仿复制然后删除并且是 O(data)。检查点更频繁地创建更小的文件


推荐阅读