Spark Streaming和Kafka 参数调优
https://www.jianshu.com/p/5c20e5bc402c
再谈Spark Streaming Kafka反压
batchDuration :每隔batchDuration秒,切分成一个数据块(RDD)
上图中数据流也可以抽象为DStream,其内部也是很多RDD的集合
注意batchDuration和批处理时间的差别
有几个问题:
batchDuration < 批处理时间 喂的多,消化的慢,容易积食,时间长了,胃(内存)受不了
batchDuration > 批处理时间 喂的少,消化的快,容易肚子饿,胃都是空的
如果batchDuration时间内,数据量过大,怎么处理,因此就有sparkStreaming的反压(Back Pressure)
反压: 只需要将 spark.streaming.backpressure.enabled
设置为 true
即可,这个参数的默认值为 false
对于 Direct Approach 的数据接收,我们可以通过配置 spark.streaming.kafka.maxRatePerPartition
参数来限制每次作业中每个 Kafka 分区最多读取的记录条数
FR:徐海涛(hunk Xu)
QQ技术交流群:386476712