我试图根据时间戳获取偏移量,但是当我运行我的代码时,它在这里抛出了空指针错误“ Long seekOffset = outOffsets.get(partition).offset();”。因为特定的时间没有偏移,所以我的问题是如何在特定的时间戳上获取最接近的偏移
下面我尝试过的代码,
select DISTINCT LocationCode, [Description]
From @TableA a inner join @TableB b on a.LocationCode = b.Code
任何帮助将不胜感激!预先感谢
答案 0 :(得分:0)
方法offsetsForTimes
返回时间戳大于或等于目标时间戳的第一条消息的偏移量。如果为null,则没有此类消息。在这种情况下,只需将消费者放到最后。
for (TopicPartition partition : partitions) {
OffsetAndTimestamp seekOffset = outOffsets.get(partition);
if(seekOffset!=null){
consumer.seek(partition, seekOffset.offset());
}else{
consumer.seekToEnd(Collections.singleton(partition));
}
}