latestOffset

Mengembalikan offset terbaru yang tersedia dengan batas baca.

Offset start dapat digunakan untuk menentukan berapa banyak data baru yang harus dibaca mengingat batasnya. Untuk microbatch pertama, start disediakan dari nilai pengembalian .initialOffset() Untuk mikrobatch berikutnya, berlanjut dari mikrobatch terakhir. Sumber dapat mengembalikan offset yang sama dengan offset awal jika tidak ada data yang akan diproses.

ReadLimit dapat digunakan oleh sumber untuk membatasi jumlah data yang dikembalikan. Terapkan getDefaultReadLimit() untuk memberikan yang tepat ReadLimit jika sumber dapat membatasi data berdasarkan opsi sumber.

Mesin masih dapat memanggil latestOffset() meskipun ReadAllAvailable sumber menghasilkan batas baca yang berbeda dari getDefaultReadLimit(). Sumber harus selalu menghormati yang diberikan ReadLimit oleh mesin.

Ditambahkan dalam Databricks Runtime 15.2

Sintaksis

latestOffset(start: dict, limit: ReadLimit)

Parameter-parameternya

Parameter Tipe Deskripsi
start kamus Offset awal mikrobatch untuk terus membaca dari.
limit ReadLimit Batas jumlah data yang akan dikembalikan oleh panggilan ini.

Pengembalian Barang

dict

Dict atau dict rekursif yang kunci dan nilainya adalah jenis primitif, yang mencakup Bilangan bulat, String, dan Boolean.

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