我是Lake,专注大数据技术、程序员经验、互联网科技见解分享,如果你觉得这篇文章对你有帮助的话,欢迎你点赞转发或者关注我,你的一个小小的鼓励,就是我前进的最大动力。
最近在做 Flink SQL 任务方面的开发,有这样一种情况,用户自己上传自定义的 UDF Jar 包,这里你可以理解为是用户自己定义的函数 Jar 包,然后在写的 Flink SQL 任务的时候,需要能够用到 Jar 包中定义的 UDF。最开始想的是将 UDF Jar 包放到 HDFS 上面,每次用的时候,下载下来,直接配置一下 Flink 提交作业时的相关参数就可以了,但这中间也走了一些弯路,这里记录一下,也防止大家再次走坑。
Flink 命令行 Jar 参数配置
我们使用 Flink On Yarn Per Job 模式运行任务,提交任务使用 flink run 命令来进行提交作业,具体提交命令如下:
./bin/flink run -m yarn-cluster ./examples/batch/WordCount.jar
-m 指定运行模式在 Yarn上运行。有时候我们程序中有需要用到自己定义的 Jar 包任务,查了官方文档,倒是查到了 -C 的使用说明,官方的英文注释如下:Adds a URL to each user code classloader on all nodes in the cluster. The paths must specify a protocol (e.g. file://) and be accessible on all nodes (e.g. by means of a NFS share). You can use this option multiple times for sp