Flink中常见的几种异常

问题一:
Exception in thread “main” org.apache.flink.table.api.TableException: Could not instantiate the executor. Make sure a planner module is on the classpath
at org.apache.flink.table.api.java.internal.StreamTableEnvironmentImpl.lookupExecutor(StreamTableEnvironmentImpl.java:147)
at org.apache.flink.table.api.java.internal.StreamTableEnvironmentImpl.create(StreamTableEnvironmentImpl.java:116)
at org.apache.flink.table.api.java.StreamTableEnvironment.create(StreamTableEnvironment.java:112)
at com.cn.flink.function.MyStreamingSource$StreamingDemo.main(MyStreamingSource.java:185)
Caused by: org.apache.flink.table.api.NoMatchingTableFactoryException: Could not find a suitable table factory for ‘org.apache.flink.table.delegation.ExecutorFactory’ in

Exception in thread "main" org.apache.flink.table.api.TableException: Could not instantiate the executor. Make sure a planner module is on the classpath
	at org.apache.flink.table.api.java.internal.StreamTableEnvironmentImpl.lookupExecutor(StreamTableEnvironmentImpl.java:147)
	at org.apache.flink.table.api.java.internal.StreamTableEnvironmentImpl.create(StreamTableEnvironmentImpl.java:116)
	at org.apache.flink.table.api.java.StreamTableEnvironment.create(StreamTableEnvironment.java:112)
	at com.cn.flink.function.MyStreamingSource$StreamingDemo.main(MyStreamingSource.java:185)
Caused by: org.apache.flink.table.api.NoMatchingTableFactoryException: Could not find a suitable table factory for 'org.apache.flink.table.delegation.ExecutorFactory' in

解决方案
缺少pom文件

        <dependency>
            <groupId>org.apache.flink</groupId>
            <artifactId>flink-table-planner-blink_${scala.binary.version}</artifactId>
            <version>${flink.version}</version>
        </dependency>

在此运行解决

问题二
Field types of query result and registered TableSink do not match.
返回结果时使用对象时类型与返回结果不对应
解决方案
先查看表结构

Table queryTable = bsTableEnv.sqlQuery ("select a.id,a.name,b.id,b.name from evenTable as a join oddTable as b on a.name = b.name");
            queryTable.printSchema ();

在这里插入图片描述

在创建对应的样例类
在这里插入图片描述
返回即可
在这里插入图片描述
解决
问题三Too many fields referenced from an atomic type.
在这里插入图片描述
由于手敲前面忘了加public公共的
解决方案
在这里插入图片描述

已解决

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 Apache Flink ,有两种提交模式: 1. 本地模式:在本地运行 Flink 程序,通常用于开发和测试。 2. 集群模式:将 Flink 程序提交到远程 Flink 集群运行。 在集群模式下,还有两种提交方式: - 交互式提交:通过 Flink 自带的 web 界面,手动提交 Flink 程序。 - 非交互式提交:通过命令行工具或者脚本自动提交 Flink 程序,通常用于生产环境。 ### 回答2: flink提交有两种模式:本地模式和集群模式。 1. 本地模式:在本地模式下,Flink应用程序可以直接在开发者的本地机器上运行。在本地模式下,应用程序不需要连接到Flink集群,并且所有的任务都在本地地机器上执行。这种模式适用于开发和测试Flink应用程序,它可以提供快速的开发和调试过程。 2. 集群模式:在集群模式下,Flink应用程序需要连接到一个Flink集群,这个集群由一组相互连接的Flink任务管理器(TaskManager)组成。在集群模式下,应用程序将提交给Flink集群,由集群来分配和管理任务的执行。这种模式适用于生产环境的实际应用程序部署,可以实现高可用性和高并发的计算。 无论是本地模式还是集群模式,都需要使用Flink自带的命令行工具或者使用Fink的API来提交应用程序。在本地模式下,可以直接使用命令`./bin/flink run`来提交应用程序。在集群模式下,首先需要在集群上启动Flink,然后使用命令`./bin/flink run -m <jobmanager-address> <path-to-jar-file>`来提交应用程序。 ### 回答3: flink提交有两种模式。 第一种是本地模式,也称为“单机模式”或“本地集群模式”。在这种模式下,flink作业是在本地计算机上运行的,不涉及到远程连接。这种模式适用于小规模的数据处理和开发测试,通过本地计算资源即可完成计算。在本地模式下,flink启动一个MiniCluster来模拟分布式集群环境,能够同时运行多个任务。本地模式对于快速迭代和调试有很大的帮助。 第二种是集群模式,也称为“分布式模式”。在这种模式下,flink作业是通过将任务提交到远程flink集群上执行的。远程flink集群由多台计算机组成,可以有效地处理大规模的数据。集群模式可以通过命令行或Web UI进行任务提交,flink会将作业分配给可用资源,然后进行计算。集群模式可以根据实际需求进行扩展,提高计算的并行度和整体处理能力。 总结来说,flink提交有两种模式:本地模式和集群模式。本地模式适用于小规模的数据处理和开发测试,而集群模式适用于大规模数据的分布式计算。不论采用哪种模式,flink都能够提供高效、可靠的数据处理和分析能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值