You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-zh@flink.apache.org by silence <sl...@aliyun.com.INVALID> on 2020/11/06 02:34:27 UTC

请教一下目前flink submit能不能指定额外的依赖jar

大家好

由于目前用了flink SQL封装了jar包,sql是作为参数动态传入的,
因此需要动态的引入一下依赖jar,比如udf jar,connector的jar等,
由于不同任务的依赖jar是不同的,不适合都放在flink lib目录下(可能会冲突)
因此想请教一下有没有办法在submit时才指定任务依赖的jar包,类似spark submit的--jars
没有的话有没有相关的issue可以跟进这个问题

谢谢



--
Sent from: http://apache-flink.147419.n8.nabble.com/

Re: 请教一下目前flink submit能不能指定额外的依赖jar

Posted by zilong xiao <ac...@gmail.com>.
原来如此,我觉得是一个不错的想法,但是其实对用户来说,最好除了写SQL之外,其他事情都不要做是最好

Re: 请教一下目前flink submit能不能指定额外的依赖jar

Posted by silence <sl...@aliyun.com.INVALID>.
你好:

这个原因最开始已经说明了,main jar就是将传入的sql参数进行解析封装,而sql里用到的udf、connector之类的类型希望可以做到动态指定
一方面可以做到灵活的依赖控制,减少main jar的大小
另一方吧可以减少不同connector和udf,或不同版本connector和udf的依赖冲突的可能性

ps:假如平台有数十种connector和数百个udf都打到一个fast jar里想想都觉得不太优雅吧



--
Sent from: http://apache-flink.147419.n8.nabble.com/

Re: 请教一下目前flink submit能不能指定额外的依赖jar

Posted by zilong xiao <ac...@gmail.com>.
Hi silence,

想问下为什么一定要submit参数呢?我理解如果是做平台的话,用户如果有多个jar依赖,为什么不把这些jar统一打包到任务主jar里呢?,平台可以提供一些公共依赖,比如flink,hadoop等

silence <sl...@aliyun.com.invalid> 于2020年11月30日周一 下午5:20写道:

> 看了很多同学回复yarn的解决方案
>
> 我这再补充一下:
> 还是希望可以提供更通用的submit参数来解决此问题,
> 包括提交到standalone集群时可以额外指定本地依赖jar
>
> 有没有cli相关的同学可以跟进下建议
> 谢谢
>
>
>
> --
> Sent from: http://apache-flink.147419.n8.nabble.com/

Re: 请教一下目前flink submit能不能指定额外的依赖jar

Posted by silence <sl...@aliyun.com.INVALID>.
看了很多同学回复yarn的解决方案

我这再补充一下:
还是希望可以提供更通用的submit参数来解决此问题,
包括提交到standalone集群时可以额外指定本地依赖jar

有没有cli相关的同学可以跟进下建议
谢谢



--
Sent from: http://apache-flink.147419.n8.nabble.com/

Re:Re: Re:请教一下目前flink submit能不能指定额外的依赖jar

Posted by izual <iz...@163.com>.
是提交到 yarn 集群么?
不知道 -yt [1] 是否是你想要的添加依赖的效果?


 1: https://github.com/apache/flink/blob/master/flink-yarn/src/main/java/org/apache/flink/yarn/cli/FlinkYarnSessionCli.java#L183








在 2020-11-06 11:12:33,"silence" <sl...@aliyun.com.INVALID> 写道:
>感谢回复,还是希望可以从submit上解决这个问题,不能添加依赖限制了很多应用场景,特别是针对平台来说
>
>
>
>--
>Sent from: http://apache-flink.147419.n8.nabble.com/

回复:请教一下目前flink submit能不能指定额外的依赖jar

Posted by 18...@163.com.
不能在 Submit 模式指定的原因是 Flink 提交模式和 Spark 不同。Flink 是在客户端需要编译 JobGgraph,这样导致在客户端运行时候就需要你所加载的 Jar,
而 Submit 模式的话,只是说把 Jar 包加载到运行的 Classpath 下;但是 Spark 程序的编译是在 服务端做的。
PS:目前 Flink-1.11 的话支持 Application 模式,有点类似 Spark 的提交模式,在这个模式下可以尝试看下是否 可以在 Submit 模式下指定。
|
|


|
|


|
在2020年11月06日 11:12,silence 写道:
感谢回复,还是希望可以从submit上解决这个问题,不能添加依赖限制了很多应用场景,特别是针对平台来说 -- Sent from: http://apache-flink.147419.n8.nabble.com/

Re: Re:请教一下目前flink submit能不能指定额外的依赖jar

Posted by silence <sl...@aliyun.com.INVALID>.
感谢回复,还是希望可以从submit上解决这个问题,不能添加依赖限制了很多应用场景,特别是针对平台来说



--
Sent from: http://apache-flink.147419.n8.nabble.com/

Re:请教一下目前flink submit能不能指定额外的依赖jar

Posted by hailongwang <18...@163.com>.
Hi silence,


 目前有个 issue [1]在跟进创建 UDF 时候添加 jar 包。
PS:目前在我的内部版本,是扩展了 类似 ADD Dependency 语法,在 job 提交运行时候会把 jar 包等加载到所运行的 classpath 下,
这样就可以让用户在 SQL 中注册 UDF,自己定义 Connector等,但是是非标准 SQL。


[1] https://issues.apache.org/jira/browse/FLINK-14055


Best,
Hailong Wang

在 2020-11-06 09:34:27,"silence" <sl...@aliyun.com.INVALID> 写道:
>大家好
>
>由于目前用了flink SQL封装了jar包,sql是作为参数动态传入的,
>因此需要动态的引入一下依赖jar,比如udf jar,connector的jar等,
>由于不同任务的依赖jar是不同的,不适合都放在flink lib目录下(可能会冲突)
>因此想请教一下有没有办法在submit时才指定任务依赖的jar包,类似spark submit的--jars
>没有的话有没有相关的issue可以跟进这个问题
>
>谢谢
>
>
>
>--
>Sent from: http://apache-flink.147419.n8.nabble.com/