Skip to content
Prev Previous commit
Next Next commit
more
  • Loading branch information
WweiL committed Jun 8, 2024
commit f8d7403bc985ca06cc000fb29a67299de46026fb
37 changes: 36 additions & 1 deletion python/pyspark/sql/streaming/listener.py
Original file line number Diff line number Diff line change
Expand Up @@ -669,10 +669,11 @@ def __repr__(self) -> str:
return self.prettyJson


class StateOperatorProgress:
class StateOperatorProgress(dict):
"""
.. versionadded:: 3.4.0


Notes
-----
This API is evolving.
Expand Down Expand Up @@ -819,10 +820,22 @@ def prettyJson(self) -> str:
def __str__(self) -> str:
return self.prettyJson

def __repr__(self) -> str:
return self.prettyJson

def __getitem__(self, key):
return getattr(self, key)

def __setitem__(self, key, value):
internal_key = "_" + key
setattr(self, internal_key, value)


class SourceProgress:
"""
.. versionadded:: 3.4.0
.. versionchanged:: 4.0.0
Becomes a subclass of dict

Notes
-----
Expand Down Expand Up @@ -959,10 +972,22 @@ def prettyJson(self) -> str:
def __str__(self) -> str:
return self.prettyJson

def __repr__(self) -> str:
return self.prettyJson

def __getitem__(self, key):
return getattr(self, key)

def __setitem__(self, key, value):
internal_key = "_" + key
setattr(self, internal_key, value)


class SinkProgress:
"""
.. versionadded:: 3.4.0
.. versionchanged:: 4.0.0
Becomes a subclass of dict

Notes
-----
Expand Down Expand Up @@ -1045,6 +1070,16 @@ def prettyJson(self) -> str:
def __str__(self) -> str:
return self.prettyJson

def __repr__(self) -> str:
return self.prettyJson

def __getitem__(self, key):
return getattr(self, key)

def __setitem__(self, key, value):
internal_key = "_" + key
setattr(self, internal_key, value)


def _test() -> None:
import sys
Expand Down