最新のオフセット
読み取り制限が与えられた場合に利用可能な最新のオフセットを返します。
startオフセットを使用すると、制限に基づいてどれだけの新しいデータを読み込むべきかを決定できます。最初のマイクロバッチについては、 start initialOffset()の戻り値から提供されます。以降のマイクロバッチでは、前回のマイクロバッチから継続されます。処理すべきデータがない場合、ソースは開始オフセットと同じオフセットを返すことがあります。
ReadLimit データソース側で、返されるデータ量を制限するために使用できます。ソースがソースオプションに基づいてデータを制限できる場合は、適切なReadLimitを提供するためにgetDefaultReadLimit()を実装します。
ソースがgetDefaultReadLimit()とは異なる読み取り制限を生成した場合でも、エンジンはReadAllAvailableを使用してlatestOffset()を呼び出すことができます。ソースは常にエンジンによって提供されるReadLimitを尊重しなければなりません。
Databricks Runtime 15.2で追加されました
構文
latestOffset(start: dict, limit: ReadLimit)
パラメーター
パラメーター | Type | 説明 |
|---|---|---|
| 辞書 | 読み取りを再開するマイクロバッチの開始オフセット。 |
| 読み取り制限 | この呼び出しによって返されるデータ量の上限。 |
戻り値
dict
キーと値がプリミティブ型である辞書または再帰辞書。プリミティブ型には、Integer、S、 Boolean含まれます。
例
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)}