latestOffset

Retourneert de meest recente offset die beschikbaar is op basis van een leeslimiet.

De start offset kan worden gebruikt om te bepalen hoeveel nieuwe gegevens moeten worden gelezen op basis van de limiet. Voor de allereerste microbatch start wordt opgegeven uit de retourwaarde van initialOffset(). Voor volgende microbatches gaat het verder vanaf de laatste microbatch. De bron kan dezelfde offset retourneren als de begin offset als er geen gegevens moeten worden verwerkt.

ReadLimit kan door de bron worden gebruikt om de hoeveelheid geretourneerde gegevens te beperken. Implementeer getDefaultReadLimit() om het juiste ReadLimit te bieden als de bron gegevens kan beperken op basis van bronopties.

De engine kan nog steeds aanroepen latestOffset() , ReadAllAvailable zelfs als de bron een andere leeslimiet produceert dan getDefaultReadLimit(). De bron moet altijd de opgegeven ReadLimit door de engine respecteren.

Toegevoegd in Databricks Runtime 15.2

Syntaxis

latestOffset(start: dict, limit: ReadLimit)

Parameterwaarden

Kenmerk Typ Beschrijving
start Woordenboek De beginverschil van de microbatch om verder te lezen.
limit ReadLimit De limiet voor de hoeveelheid gegevens die door deze aanroep moet worden geretourneerd.

Retouren

dict

Een dict of recursieve dict waarvan de sleutel en waarde primitieve typen zijn, waaronder Geheel getal, Tekenreeks en Booleaanse waarde.

Examples

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