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 Husky Zeng <56...@qq.com> on 2020/09/19 07:46:56 UTC

任务提交中使用了hive的udf时的疑问

Hi all,

在提交的flink任务中使用了hive的udf时,任务的运行会依赖一些udf相关的jar包,配置文件等资源。

在我们的生产环境中,这些udf相关的jar包,配置文件都由hive的metaStore统一管理着,因此,flink在同hive交互时,是可以拿到这些文件的远程存储路径的(hdfs路径)。

我们希望flink任务在提交时能够只提交这些从hive中得到的文件路径,而不必传输这些文件(在flink外围去做这样一个查询hive然后下载文件的事情,在生产环境中相当于多了一个步骤,带来了不必要的风险,因此希望能够在flink任务运行时自动完成这些事情)。在这样的方案里,flink任务会在运行时根据路径从hdfs下载相关jar包和配置文件。

从代码里可以看到 ,FunctionInfo 这个对象里已经有了resources的相关路径。但是看上去并没有合理的利用它。

https://github.com/apache/flink/blob/master/flink-connectors/flink-connector-hive/src/main/java/org/apache/flink/table/module/hive/HiveModule.java#L80

请问你们有没有什么办法,可以在提交任务时,不提交udf相关的资源文件?或者对于这样的方案,有没有开发计划?




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

Re: 任务提交中使用了hive的udf时的疑问

Posted by Rui Li <li...@gmail.com>.
Hi,

这种模式目前还不支持,因为现在没有动态添加jar的功能,所以需要事先把依赖的jar准备好。

On Mon, Sep 21, 2020 at 9:47 AM Husky Zeng <56...@qq.com> wrote:

> Hi all,
>
> 在提交的flink任务中使用了hive的udf时,任务的运行会依赖一些udf相关的jar包,配置文件等资源。
>
>
> 在我们的生产环境中,这些udf相关的jar包,配置文件都由hive的metaStore统一管理着,因此,flink在同hive交互时,是可以拿到这些文件的远程存储路径的(hdfs路径)。
>
>
> 我们希望flink任务在提交时能够只提交这些从hive中得到的文件路径,而不必传输这些文件(在flink外围去做这样一个查询hive然后下载文件的事情,在生产环境中相当于多了一个步骤,带来了不必要的风险,因此希望能够在flink任务运行时自动完成这些事情)。在这样的方案里,flink任务会在运行时根据路径从hdfs下载相关jar包和配置文件。
>
> 从代码里可以看到 ,FunctionInfo 这个对象里已经有了resources的相关路径。但是看上去并没有合理的利用它。
>
>
> https://github.com/apache/flink/blob/master/flink-connectors/flink-connector-hive/src/main/java/org/apache/flink/table/module/hive/HiveModule.java#L80
>
> 请问你们有没有什么办法,可以在提交任务时,不提交udf相关的资源文件?或者对于这样的方案,有没有开发计划?
>
>
>
>
> --
> Sent from: http://apache-flink.147419.n8.nabble.com/



-- 
Best regards!
Rui Li