【发布时间】:2018-09-01 16:13:39
【问题描述】:
当我提交 spark 流作业时,它会创建一个包含 70 个任务的作业,并且它会在 2 秒内完成。然后它启动同一个作业,运行一个任务,这是所需的行为。该作业正在通过自定义接收器接收 mq 数据。
我提交的 jar 只包含一个 MQ 自定义接收器和 kafka 接收器。没有处理器。它只是将收到的内容发送到 mq 到 kafka。
我可以在 spark 日志中找到以下内容。 但除此之外,我不知道为什么它在开始时会创建如此多的任务。
INFO DAGScheduler:54 - 从 ShuffleMapStage 0 提交 50 个缺失的任务(MapPartitionsRDD[1] 在 Streaming.java:59 开始)(前 15 个任务用于分区 Vector(0, 1, 2, 3, 4, 5, 6、7、8、9、10、11、12、13、14))
【问题讨论】:
-
我也面临同样的问题。有没有办法解决这个问题或使运行更快?或者我们可以减少这个吗?这取决于我提到的 shuffle 分区还是我调用 spark 数据帧的所有地图?
标签: apache-spark spark-streaming