当前位置: 首页 > article >正文

【Flink实战】Flink -C实现类路径配置与实现UDF Jar

文章目录

    • 1. 描述
    • 2. 使用语法
    • 3. `-C` 适用的 Flink 运行模式
    • 4. USING JAR 不可用

1. 描述

Flink 中的 -C 选项用于将 URL 添加到作业的类加载器中。URL可以指向本地、HTTP 服务器或 HDFS 等资源的Jar文件。

注意:

  1. 此处的classpath的url必须是一个能够在client,JM和TM都被访问到的位置。
  2. 此位置从client端的提交到JM的分发到TM的访问的过程中,不会发生文件移动的动作。
  3. url支持的协议包括file,ftp,gopher,http,https,jar,mailto,netdoc,亦即java中URL类支持的协议类型。
  4. 注意:不能放在hdfs上。否则会报错:Bad syntax for classpath: hdfs://xxx。

 

 

2. 使用语法

flink run \
  -C http://home/user/flink-udf1.jar \
  -C http://home/user/flink-udf2.jar \
  -j job.jar

配置多个udf: 每个 -C 选项只能对应一个 JAR,不能用逗号 , 分隔多个路径。

 

如下示例,

从Taskmanager日志可以看到成功加载https格式的jar包

在这里插入图片描述

url路径的结尾可以不以.jar结尾

 

3. -C 适用的 Flink 运行模式

运行模式是否支持 -C
Standalone(独立模式)✅ 支持
YARN Session✅ 支持
YARN Per-job✅ 支持
Kubernetes✅ 支持
Local(本地模式)✅ 支持

4. USING JAR 不可用

使用Flink Sql加载udf

CREATE FUNCTION my_udf AS 'com.example.MyUDF' USING JAR 'hdfs://namenode:9000/flink-udf.jar';

报错:直接不可用。

org.apache.flink.api.common.InvalidProgramException: Table program cannot be compiled. This is a bug. Please file an issue. at

http://www.kler.cn/a/537569.html

相关文章:

  • AI 编程工具—Cursor 进阶篇 文章改写生成整理爬取
  • 【AI】在Ubuntu中使用docker对DeepSeek的部署与使用
  • intra-mart实现简易登录页面笔记
  • 力扣.623. 在二叉树中增加一行(链式结构的插入操作)
  • 基于 Spring Cloud + Spring AI + VUE 的知识助理平台介绍以及问题
  • UE5 蓝图学习计划 - Day 14:搭建基础游戏场景
  • linux上scp能不能取代rsync
  • 学习笔记十九:K8S生成pod过程
  • 国自然面上项目|多模态MRI影像组学模型对乳腺癌新辅助治疗疗效的早期预判研究|基金申请·25-02-08
  • Windows逆向工程入门之汇编开发框架解析
  • Axios 拦截器实现的原理
  • C++ 23 的栈踪迹库(stacktrace)
  • 深度洞察与精确匹配:基于HAI部署DeepSeekR1的公考岗位推荐与智能分析
  • XY2-100的Verilog实现
  • 阿里云宝塔在线安装步骤
  • DeepSeek底层揭秘——记忆网络与持续学习机制
  • 用户位置与IP属地:二者之间的关联与差异
  • 日志2025.2.8
  • 深度剖析 Redisson 分布式锁:原理、实现与应用实践
  • k8s部署go-fastdfs
  • OSPF基础(3):区域划分
  • Java 的 CopyOnWriteArrayList 和 Collections.synchronizedList 有什么区别?分别有什么优缺点?
  • 【算法】动态规划专题⑧ —— 分组背包问题 python
  • 《qt6+Open3d点云读取》
  • android apk反编译
  • Verilog 语法篇 硬件描述语言