ToB企服应用市场:ToB评测及商务社交产业平台

标题: Flink: Could not find any factory for identifier kafka/jdbc/hive imple [打印本页]

作者: 石小疯    时间: 2024-7-13 09:58
标题: Flink: Could not find any factory for identifier kafka/jdbc/hive imple
运行 Flink 应用或执行 Flink SQL 时会经常碰到下面的错误:
   org.apache.flink.table.api.ValidationException: Could not find any factory for identifier ‘???’ that implements ‘org.apache.flink.table.factories.DynamicTableFactory’ in the classpath.
  其中 identifier 可以是 kafka, jdbc, hive, hudi 等等,而且这一题目通常有伴随着一种很“诡异”的表现:

导致这一题目的根源并非相关 Connector 的 Jar 包没有添加到步伐依赖中,或者在打成 uber-jar 的过程中丢失了 class 文件,而是由于一个更隐秘的缘故原由:Java 的 Service Provider Interface (SPI)机制
在 Flink 的 Table API & SQL 框架下,各类 Connector 和 Format 必要提供 org.apache.flink.table.factories.DynamicTableFactory 这一接口的具体实现,从而把本身“注册”或者说“嵌入”到 Flink 运行情况中,而这必要在生成的 Jar 包中往 META-INF/services/目次下添加一个与接口类同名的文件,并

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4