示例#1
0
 def startup_loopback_server():
     from pyflink.common import Configuration
     from pyflink.fn_execution.beam.beam_worker_pool_service import \
         BeamFnLoopbackWorkerPoolServicer
     config = Configuration(j_configuration=j_configuration)
     config.set_string("python.loopback-server.address",
                       BeamFnLoopbackWorkerPoolServicer().start())
示例#2
0
 def startup_loopback_server():
     from pyflink.common import Configuration
     from pyflink.fn_execution.beam.beam_worker_pool_service import \
         BeamFnLoopbackWorkerPoolServicer
     config = Configuration(j_configuration=j_configuration)
     config.set_string("PYFLINK_LOOPBACK_SERVER_ADDRESS",
                       BeamFnLoopbackWorkerPoolServicer().start())
 def startup_loopback_server():
     from pyflink.fn_execution.beam.beam_worker_pool_service import \
         BeamFnLoopbackWorkerPoolServicer
     jvm = gateway.jvm
     j_env = jvm.System.getenv()
     get_field_value(j_env, "m").put(
         'PYFLINK_LOOPBACK_SERVER_ADDRESS',
         BeamFnLoopbackWorkerPoolServicer().start())
 def startup_loopback_server():
     jvm = gateway.jvm
     env_config = JPythonConfigUtil.getEnvironmentConfig(
         self._j_stream_execution_environment)
     parallelism = self.get_parallelism()
     if parallelism > 1 and env_config.containsKey(jvm.PythonOptions.PYTHON_ARCHIVES.key()):
         import logging
         logging.warning("Loopback mode is disabled as python archives are used and the "
                         "parallelism of the job is greater than 1. The Python user-defined "
                         "functions will be executed in an independent Python process.")
     else:
         from pyflink.fn_execution.beam.beam_worker_pool_service import \
             BeamFnLoopbackWorkerPoolServicer
         j_env = jvm.System.getenv()
         get_field_value(j_env, "m").put(
             'PYFLINK_LOOPBACK_SERVER_ADDRESS', BeamFnLoopbackWorkerPoolServicer().start())
示例#5
0
    def _generate_stream_graph(self, clear_transformations: bool = False, job_name: str = None) \
            -> JavaObject:
        gateway = get_gateway()
        JPythonConfigUtil = gateway.jvm.org.apache.flink.python.util.PythonConfigUtil
        # start BeamFnLoopbackWorkerPoolServicer when executed in MiniCluster
        j_configuration = get_j_env_configuration(self._j_stream_execution_environment)
        if not self._remote_mode and is_local_deployment(j_configuration):
            from pyflink.common import Configuration
            from pyflink.fn_execution.beam.beam_worker_pool_service import \
                BeamFnLoopbackWorkerPoolServicer

            jvm = gateway.jvm
            env_config = JPythonConfigUtil.getEnvironmentConfig(
                self._j_stream_execution_environment)
            parallelism = self.get_parallelism()
            if parallelism > 1 and env_config.containsKey(jvm.PythonOptions.PYTHON_ARCHIVES.key()):
                import logging
                logging.warning("Lookback mode is disabled as python archives are used and the "
                                "parallelism of the job is greater than 1. The Python user-defined "
                                "functions will be executed in an independent Python process.")
            else:
                config = Configuration(j_configuration=j_configuration)
                config.set_string(
                    "loopback.server.address", BeamFnLoopbackWorkerPoolServicer().start())

        JPythonConfigUtil.configPythonOperator(self._j_stream_execution_environment)

        gateway.jvm.org.apache.flink.python.chain.PythonOperatorChainingOptimizer.apply(
            self._j_stream_execution_environment)

        JPythonConfigUtil.setPartitionCustomOperatorNumPartitions(
            get_field_value(self._j_stream_execution_environment, "transformations"))

        j_stream_graph = self._j_stream_execution_environment.getStreamGraph(clear_transformations)
        if job_name is not None:
            j_stream_graph.setJobName(job_name)
        return j_stream_graph