latestOffset

Vrátí nejnovější dostupný posun vzhledem k limitu čtení.

Posun start lze použít k určení, kolik nových dat by se mělo načíst vzhledem k limitu. Pro první mikrobatch je start poskytována z návratové initialOffset()hodnoty . Pro následné mikrobatchy pokračuje od posledního mikrobatchu. Zdroj může vrátit stejný posun jako počáteční posun, pokud neexistují žádná data ke zpracování.

ReadLimit zdroj ho může použít k omezení množství vrácených dat. Implementujte getDefaultReadLimit() , aby poskytoval správné ReadLimit , pokud zdroj může omezit data na základě možností zdroje.

Modul může stále volat latestOffset() , ReadAllAvailable i když zdroj vytváří jiný limit čtení od getDefaultReadLimit(). Zdroj musí vždy respektovat daný poskytnutý ReadLimit motorem.

Přidáno do Databricks Runtime 15.2

Syntaxe

latestOffset(start: dict, limit: ReadLimit)

Parametry

Parameter Typ Description
start slovník Počáteční posun mikrobatchu pro pokračování ve čtení.
limit ReadLimit Omezení množství dat vrácených tímto voláním.

Návraty

dict

Diktování nebo rekurzivní diktování, jehož klíč a hodnota jsou primitivní typy, včetně integer, String a Boolean.

Příklady

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)}