Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Devolve o deslocamento mais recente disponível dado um limite de leitura.
O deslocamento start pode ser usado para determinar quantos dados novos devem ser lidos, dado o limite. Para o primeiro microlote, start é fornecido a partir do valor de retorno de initialOffset(). Para microlotes subsequentes, continua a partir do microlote anterior. A fonte pode devolver 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 devolvidos. Implemente getDefaultReadLimit() para fornecer a informação adequada ReadLimit se a fonte puder limitar os dados com base nas opções da fonte.
O motor ainda pode chamar latestOffset() com ReadAllAvailable mesmo que a fonte produza um limite de leitura diferente de getDefaultReadLimit(). A fonte deve sempre respeitar o fornecido ReadLimit 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 microlote para continuar a ler. |
limit |
ReadLimit | O limite para a quantidade de dados a ser devolvida por esta chamada. |
Devoluções
dict
Um dict ou dict recursivo cuja chave e valor são tipos primitivos, incluindo Inteiro, String e Booleano.
Exemplos
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)}