class_docstr: The watermark tracker is responsible for aggregating watermarks across distributed operators.
  It can be used for sub tasks of a single Flink source as well as multiple heterogeneous sources
  or other operators.The class essentially functions like a distributed hash table that enclosing
  operators can use to adopt their processing / IO rates
class_docstr_tok: ["The","watermark","tracker","is","responsible","for","aggregating","watermarks","across","distributed","operators",".","It","can","be","used","for","sub","tasks","of","a","single","Flink","source","as","well","as","multiple","heterogeneous","sources","or","other","operators.The","class","essentially","functions","like","a","distributed","hash","table","that","enclosing","operators","can","use","to","adopt","their","processing","\/","IO","rates"]
code: def __init__(self, j_watermark_tracker):
      self._j_watermark_tracker = j_watermark_tracker
  
imports: from typing import Dict, Union, List
  from pyflink.common import SerializationSchema, DeserializationSchema, AssignerWithPeriodicWatermarksWrapper
  from pyflink.datastream.functions import SourceFunction
  from pyflink.datastream.connectors import Sink
  from pyflink.java_gateway import get_gateway
label_desc: Use image node_id 1 to create a new WatermarkTracker object from inherited base classes: object with example: obj = WatermarkTracker(j_watermark_tracker)