我想限制从kafka提取数据时的速率。我的代码如下:
df = spark.read.format('kafka') \
.option("kafka.bootstrap.servers",'...')\
.option("subscribe",'A') \
.option("startingOffsets",'''{"A":{"0":200,"1":200,"2":200}}''') \
.option("endingOffsets",'''{"A":{"0":400,"1":400,"2":400}}''') \
.option("maxOffsetsPerTrigger",20) \
.load() \
.cache()
但是,当我打电话给df.count()
时,结果是600。我期望的是20。有谁知道为什么“ maxOffsetsPerTrigger”不起作用。
答案 0 :(得分:0)
每个分区(0、1、2)带来200条记录,总计600条记录。
如您所见:
使用maxOffsetsPerTrigger选项将记录数限制为 每次触发获取。
这意味着对于每个触发或获取过程,Kafka将获得20条记录,但总计仍将获取配置中设置的总记录(每个分区200条)。