Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Renvoie le décalage le plus récent disponible en fonction d’une limite de lecture.
Le start décalage peut être utilisé pour déterminer la quantité de nouvelles données à lire en fonction de la limite. Pour la première microbatch, start est fourni à partir de la valeur de retour de initialOffset(). Pour les microbatches suivantes, il continue à partir du dernier microbatch. La source peut retourner le même décalage que le décalage de début s’il n’y a pas de données à traiter.
ReadLimit peut être utilisé par la source pour limiter la quantité de données retournées. Implémentez getDefaultReadLimit() pour fournir la valeur appropriée ReadLimit si la source peut limiter les données en fonction des options de source.
Le moteur peut toujours appeler latestOffset() avec ReadAllAvailable même si la source produit une limite de lecture différente de getDefaultReadLimit(). La source doit toujours respecter la donnée ReadLimit fournie par le moteur.
Ajouté dans Databricks Runtime 15.2
Syntaxe
latestOffset(start: dict, limit: ReadLimit)
Paramètres
| Paramètre | Type | Description |
|---|---|---|
start |
dictionnaire | Décalage de début du microbatch à partir duquel continuer la lecture. |
limit |
ReadLimit | Limite de la quantité de données à retourner par cet appel. |
Retours
dict
dictée ou récursive dont la clé et la valeur sont des types primitifs, qui inclut Integer, String et Boolean.
Exemples
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)}