Pular para o conteúdo principal

último deslocamento

Retorna o deslocamento mais recente disponível, dado um limite de leitura.

O deslocamento start pode ser usado para determinar a quantidade de novos dados que devem ser lidos, dado o limite. Para o primeiro microlote, start é fornecido a partir do valor de retorno de initialOffset(). Para os microlotes subsequentes, o processo continua a partir do último microlote. A fonte pode retornar o mesmo deslocamento que o deslocamento inicial se não houver dados para processar.

ReadLimit Pode ser usado pela fonte para limitar a quantidade de dados retornados. Implemente getDefaultReadLimit() para fornecer o ReadLimit adequado se a fonte puder limitar os dados com base nas opções da fonte.

O mecanismo ainda pode chamar latestOffset() com ReadAllAvailable mesmo que a fonte produza um limite de leitura diferente de getDefaultReadLimit(). A fonte deve sempre respeitar o ReadLimit fornecido pelo motor.

Adicionado no Databricks Runtime 15.2

Sintaxe

latestOffset(start: dict, limit: ReadLimit)

Parâmetros

Parâmetro

Tipo

Descrição

start

dicionário

O deslocamento inicial do microbatch para continuar a leitura.

limit

Limite de leitura

O limite da quantidade de dados a serem retornados por esta chamada.

Devoluções

dict

Um dicionário ou dicionário recursivo cuja key e valor são tipos primitivos, incluindo Integer, strings e Boolean.

Exemplos

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