[
https://issues.apache.org/jira/browse/FLINK-16943?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17084619#comment-17084619
]
Wei Zhong commented on FLINK-16943:
-----------------------------------
Hi Jincheng, thanks for your notice. In addition to adding interfaces directly,
there is another way to support adding jars in PyFlink. We can support this
usage:
*t_env.get_config().get_configuration().set_string("pipeline.jars",
"file:///home/user1/jdbc-connector.jar;file:///home/user1/kafka-connector.jar")*
The jars will be loaded to context class loader immediately and set to the
ExecutionEnviornment#configuration member when the t_env.execute() is called.
If we choose this approach, there is no need to add a new interface.
> Support adding jars in PyFlink
> ------------------------------
>
> Key: FLINK-16943
> URL: https://issues.apache.org/jira/browse/FLINK-16943
> Project: Flink
> Issue Type: Improvement
> Components: API / Python
> Reporter: Wei Zhong
> Priority: Major
>
> Since flink-1.10.0 released, many users have complained that PyFlink is
> inconvenient when loading external jar packages. For local execution, users
> need to copy the jar files to the lib folder under the installation directory
> of PyFlink, which is hard to locate. For job submission, users need to merge
> their jars into one, as `flink run` only accepts one jar file. It may be easy
> for Java users but difficult for Python users if they haven't touched Java.
> We intend to add a `add_jars` interface on PyFlink TableEnvironment to solve
> this problem. It will add the jars to the context classloader of Py4j gateway
> server and add to the `PipelineOptions.JARS` of the configuration of
> StreamExecutionEnviornment/ExecutionEnviornment.
> Via this interface, users could add jars in their python job. The jars will
> be loaded immediately, and users could use it even on the next line of the
> Python code. Submitting a job with multiple external jars won't be a problem
> anymore because all the jars in `PipelineOptions.JARS` will be added to the
> JobGraph and upload to the cluster.
> As it is not a big change I'm not sure whether it is necessary to create a
> FLIP to discuss this. So I created a JIRA first for flexibility. What do you
> think guys?
--
This message was sent by Atlassian Jira
(v8.3.4#803005)