Apache flink ververica平台| Flink所需的上下文属性不匹配
我正试图向部署在Kubernates的ververica平台提交作业,但我得到了以下消息,我向Flink standalone提交了相同的代码,其工作正常!!我使用的是Flink 1.10.1和Scala 2.12的代码Apache flink ververica平台| Flink所需的上下文属性不匹配,apache-flink,flink-streaming,flink-sql,Apache Flink,Flink Streaming,Flink Sql,我正试图向部署在Kubernates的ververica平台提交作业,但我得到了以下消息,我向Flink standalone提交了相同的代码,其工作正常!!我使用的是Flink 1.10.1和Scala 2.12的代码 Caused by: org.apache.flink.client.program.ProgramInvocationException: The main method caused an error: Could not find a suitable table fac
Caused by: org.apache.flink.client.program.ProgramInvocationException: The main method caused an error: Could not find a suitable table factory for 'org.apache.flink.table.factories.TableSinkFactory' in
the classpath.
Reason: Required context properties mismatch.
The following properties are requested:
connector.driver=com.mysql.jdbc.Driver
connector.password=******
connector.table=*****
connector.type=jdbc
connector.url=jdbc:mysql://**********
connector.username=********
schema.0.data-type=VARCHAR(255)
schema.0.name=**********
schema.1.data-type=BIGINT
schema.1.name=****
schema.2.data-type=VARCHAR(255)
schema.2.name=*****
schema.3.data-type=DATE
schema.3.name=******
schema.4.data-type=BIGINT
schema.4.name=******
schema.5.data-type=VARCHAR(255)
schema.5.name=************
schema.6.data-type=DATE
schema.6.name=*********
The following factories have been considered:
org.apache.flink.table.sinks.CsvBatchTableSinkFactory
org.apache.flink.table.sinks.CsvAppendTableSinkFactory
at org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:335)
at org.apache.flink.client.program.PackagedProgram.invokeInteractiveModeForExecution(PackagedProgram.java:205)
at org.apache.flink.client.program.OptimizerPlanEnvironment.getPipeline(OptimizerPlanEnvironment.java:80)
at org.apache.flink.client.program.PackagedProgramUtils.getPipelineFromProgram(PackagedProgramUtils.java:108)
at org.apache.flink.client.program.PackagedProgramUtils.createJobGraph(PackagedProgramUtils.java:58)
at org.apache.flink.container.entrypoint.ClassPathJobGraphRetriever.retrieveJobGraph(ClassPathJobGraphRetriever.java:104)
... 9 more
Caused by: org.apache.flink.table.api.NoMatchingTableFactoryException: Could not find a suitable table factory for 'org.apache.flink.table.factories.TableSinkFactory' in
the classpath.
错误消息表明Flink没有找到TableFactory来生成要写入MySQL表的连接器
您应该将JDBC表/SQL连接器与您的程序JAR绑定。我尝试使用命令
sbt assembly
生成JAR,但仍然得到相同的错误您可以解压缩生成的JAR文件以检查是否包含所需的类。是的,我检查了JAR和类是否存在。谢谢Fabian它修复了我的问题,我在代码中还提到,我没有使用BlinkPlanner,这也会在TableSource中生成一个错误