Interface PythonFunctionRunner

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void close()
      Tear-down the Python function runner.
      void drainUnregisteredTimers()  
      void flush()
      Forces to finish the processing of the current bundle of elements.
      void open​(org.apache.flink.configuration.ReadableConfig config)
      Prepares the Python function runner, such as preparing the Python execution environment, etc.
      org.apache.flink.api.java.tuple.Tuple3<String,​byte[],​Integer> pollResult()
      Retrieves the Python function result.
      void process​(byte[] data)
      Executes the Python function with the input byte array.
      void processTimer​(byte[] timerData)
      Send the triggered timer to the Python function.
      org.apache.flink.api.java.tuple.Tuple3<String,​byte[],​Integer> takeResult()
      Retrieves the Python function result, waiting if necessary until an element becomes available.
    • Method Detail

      • open

        void open​(org.apache.flink.configuration.ReadableConfig config)
           throws Exception
        Prepares the Python function runner, such as preparing the Python execution environment, etc.
        Throws:
        Exception
      • process

        void process​(byte[] data)
              throws Exception
        Executes the Python function with the input byte array.
        Parameters:
        data - the byte array data.
        Throws:
        Exception
      • processTimer

        void processTimer​(byte[] timerData)
                   throws Exception
        Send the triggered timer to the Python function.
        Throws:
        Exception
      • drainUnregisteredTimers

        void drainUnregisteredTimers()
      • pollResult

        org.apache.flink.api.java.tuple.Tuple3<String,​byte[],​Integer> pollResult()
                                                                                      throws Exception
        Retrieves the Python function result.
        Returns:
        the head of he Python function result buffer, or null if the result buffer is empty. f0 means the byte array buffer which stores the Python function result. f1 means the length of the Python function result byte array.
        Throws:
        Exception
      • takeResult

        org.apache.flink.api.java.tuple.Tuple3<String,​byte[],​Integer> takeResult()
                                                                                      throws Exception
        Retrieves the Python function result, waiting if necessary until an element becomes available.
        Returns:
        the head of he Python function result buffer. f0 means the byte array buffer which stores the Python function result. f1 means the length of the Python function result byte array.
        Throws:
        Exception
      • flush

        void flush()
            throws Exception
        Forces to finish the processing of the current bundle of elements. It will flush the data cached in the data buffer for processing and retrieves the state mutations (if exists) made by the Python function. The call blocks until all of the outputs produced by this bundle have been received.
        Throws:
        Exception