返回给定读取限制的最新偏移量。
偏移 start 量可用于确定应根据限制读取多少新数据。 对于第一个微batch, start 从返回值的返回值 initialOffset()提供。 对于后续微球,它从最后一个微袋继续。 如果没有要处理的数据,源可以返回与起始偏移量相同的偏移量。
ReadLimit 源可以使用它来限制返回的数据量。 如果源可以基于源选项限制数据,则实现 getDefaultReadLimit() 提供适当的 ReadLimit 方法。
即使源生成不同的读取限制,latestOffset()引擎仍ReadAllAvailablegetDefaultReadLimit()可以使用该调用。 源必须始终尊重引擎提供的给定 ReadLimit 内容。
在 Databricks Runtime 15.2 中添加
Syntax
latestOffset(start: dict, limit: ReadLimit)
参数
| 参数 | 类型 | 说明 |
|---|---|---|
start |
dict | 要继续从中读取的微分包的起始偏移量。 |
limit |
ReadLimit | 此调用要返回的数据量的限制。 |
退货
dict
一个听写或递归听写,其键和值是基元类型,包括整数、字符串和布尔值。
示例
from pyspark.sql.streaming.datasource import ReadAllAvailable, ReadMaxRows
def latestOffset(self, start, limit):
# Assume the source has 10 new records between start and latest offset
if isinstance(limit, ReadAllAvailable):
return {"index": start["index"] + 10}
else: # e.g., limit is ReadMaxRows(5)
return {"index": start["index"] + min(10, limit.maxRows)}