Spark Streaming + Kinesis:初始记录消费
Spark Streaming + Kinesis : Initial record consumption
我正在使用 Kinesis Stream 提供 Spark 流。
我的项目使用 1s 批次,
在第一批中(队列包含几百万个项目,任务被告知从流的开头开始)
Spark Streaming 开始批量处理 10K 条记录。
每 10/20 秒发生一次。
即:
t0 -> records : 0
t1 -> records : 0
.....
t10 -> records: 10.000 -> total process time is 0.8s (lower than batch time)
t11 -> recods : 0
..
t15 ->records : 0
..
t20 -> records: 10.000
这种行为一直发生到 spark 到达流的顶部为止。在 htat 之后,每批将每秒处理元素。
感觉在开始点它应该始终如一地处理每批次的大量记录,而不是让大量的批次不处理任何记录。
我忽略了任何设置吗?所描述的行为是否符合预期?
此问题的原因是这个错误:https://issues.apache.org/jira/browse/SPARK-18620 在 spark-kinesis 消费者中,它没有正确设置 maxRate。
我正在使用 Kinesis Stream 提供 Spark 流。 我的项目使用 1s 批次, 在第一批中(队列包含几百万个项目,任务被告知从流的开头开始) Spark Streaming 开始批量处理 10K 条记录。 每 10/20 秒发生一次。
即:
t0 -> records : 0
t1 -> records : 0
.....
t10 -> records: 10.000 -> total process time is 0.8s (lower than batch time)
t11 -> recods : 0
..
t15 ->records : 0
..
t20 -> records: 10.000
这种行为一直发生到 spark 到达流的顶部为止。在 htat 之后,每批将每秒处理元素。
感觉在开始点它应该始终如一地处理每批次的大量记录,而不是让大量的批次不处理任何记录。
我忽略了任何设置吗?所描述的行为是否符合预期?
此问题的原因是这个错误:https://issues.apache.org/jira/browse/SPARK-18620 在 spark-kinesis 消费者中,它没有正确设置 maxRate。