I've seen the class definition for source function: class SinkFunction(JavaFunctionWrapper): """ The base class for SinkFunctions. """
def __init__(self, sink_func: Union[str, JavaObject]): """ Constructor of SinkFunction. :param sink_func: The java SinkFunction object or the full name of the SinkFunction class. """ super(SinkFunction, self).__init__(sink_func) Link: https://nightlies.apache.org/flink/flink-docs-master/api/python/_modules/pyflink/datastream/functions.html If I want to create a custom python sink, does it need to be written in Java and then I provide a Python SinkFunction to wrap it that calls the java methods?? Thanks!