Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Returnerar den senaste tillgängliga förskjutningen med en läsgräns.
Förskjutningen start kan användas för att avgöra hur mycket nya data som ska läsas med tanke på gränsen. För den allra första mikrobatchen start tillhandahålls från returvärdet för initialOffset(). För efterföljande mikrobatcher fortsätter den från den sista mikrobatchen. Källan kan returnera samma förskjutning som startförskjutningen om det inte finns några data att bearbeta.
ReadLimit kan användas av källan för att begränsa mängden data som returneras. Implementera getDefaultReadLimit() för att ange rätt ReadLimit om källan kan begränsa data baserat på källalternativ.
Motorn kan fortfarande anropa latestOffset() med ReadAllAvailable även om källan genererar en annan läsgräns än getDefaultReadLimit(). Källan måste alltid respektera den angivna ReadLimit som tillhandahålls av motorn.
Har lagts till i Databricks Runtime 15.2
Syntax
latestOffset(start: dict, limit: ReadLimit)
Parameters
| Parameter | Type | Beskrivning |
|---|---|---|
start |
Dict | Startförskjutningen för mikrobatchen att fortsätta läsa från. |
limit |
ReadLimit | Gränsen för hur mycket data som ska returneras av det här anropet. |
Retur
dict
En diktering eller rekursiv diktering vars nyckel och värde är primitiva typer, som innehåller Heltal, Sträng och Booleskt värde.
Exempel
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)}