赞
踩
通常我们消费kafka数据的时候都会设置两个参数:
- Properties props = new Properties();
- props.put("group.id", groupId);
- props.put("auto.offset.reset", autoOffset);
auto.offset.reset: 可理解为kafka consumer读取数据的策略,本地用的kafka版本为0.10,因此该参数可填earliest | latest | none。
Kafka上在实时被灌入数据,但kafka上已经积累了两天的数据,如何从最新的offset开始消费?(最新指相对于当前系统时间最新)
1.将group.id换成新的名字(相当于加入新的消费组)
2.网上文章写还要设置 properties.setProperty("auto.offset.reset", "latest”)
实验发现即使不设置这个,只要group.id是全新的,就会从最新的的offset开始消费
kafka在实时在灌入数据,kafka上已经积累了两天的数据,如何从两天前最开始的位置消费?
1.将group.id换成新的名字
2.properties.setProperty("auto.offset.reset", "earliest”)
不更改group.id,只是添加了properties.setProperty("auto.offset.reset", "earliest”),consumer会从两天前最开始的位置消费吗?
不会,只要不更改消费组,只会从上次消费结束的地方继续消费
不更改group.id,只是添加了properties.setProperty("auto.offset.reset", "latest”),consumer会从距离现在最近的位置消费吗?
不会,只要不更改消费组,只会从上次消费结束的地方继续消费
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。