那应该没有办法在Table API中拿到了,我有一些不理解,为什么你需要自动判断执行模式,而不是根据你的任务的实际情况来设置。 如果你期望以批的模式跑作业,然后有些Source是无界的,我理解这本身就是采用的source不合理,应该修改代码。 另外流和批执行模式有很多不同之处,例如sum算子对于每个key是输出多条还是一条,这都是你选择执行模式的时候需要考量的。假设可以支持自动推断,让系统自动推断也可能出现很多预期之外的行为。
Best regards, Weijie junjie.m...@goupwith.com <junjie.m...@goupwith.com> 于2022年10月28日周五 17:51写道: > > 我是flink1.14.5 > > EnvironmentSettings.fromConfiguration(ReadableConfig configuration) { > final Builder builder = new Builder(); > switch (configuration.get(RUNTIME_MODE)) { > case STREAMING: > builder.inStreamingMode(); > break; > case BATCH: > builder.inBatchMode(); > break; > case AUTOMATIC: > default: > throw new TableException( > String.format( > "Unsupported mode '%s' for '%s'. " > + "Only an explicit BATCH or STREAMING > mode is supported in Table API.", > configuration.get(RUNTIME_MODE), > RUNTIME_MODE.key())); > }限制了不支持AUTOMATIC > > > 发件人: TonyChen > 发送时间: 2022-10-28 17:13 > 收件人: user-zh > 主题: Re: 关于如何得到管道中哪些源是有界和无界的问题 > 升个小版本,1.14.3就有AUTOMATIC > > > Best, > TonyChen > > > 2022年10月28日 17:09,junjie.m...@goupwith.com 写道: > > > > hi,weijie: > > 我使用的是flink1.14里是不支持设置execution.runtime-mode=AUTOMATIC的,会报如下错误: > > org.apache.flink.table.api.TableException: Unsupported mode 'AUTOMATIC' > for 'execution.runtime-mode'. Only an explicit BATCH or STREAMING mode is > supported in Table API. > > > > 是后续版本已经支持execution.runtime-mode=AUTOMATIC了吗? > > > > > > 发件人: weijie guo > > 发送时间: 2022-10-28 16:38 > > 收件人: user-zh > > 主题: Re: Re: 关于如何得到管道中哪些源是有界和无界的问题 > > 这种需求可以吧execution.runtime-mode设置成AUTOMATIC, > > 这种模式就是你的需求,如果所有的Source都是有界的,则使用Batch执行模式,否则使用Streaming > > > > Best regards, > > > > Weijie > > > > > > junjie.m...@goupwith.com <junjie.m...@goupwith.com> 于2022年10月28日周五 > 15:56写道: > > > >> hi, Weijie: > >> > >> > 由于我没有发现如何判断管道是有界还是无界的方法,特别是对于Table&SQL需要手动指定execution.runtime-mode=BATCH或STREAMING。 > >> > >> > 我想通过得到所有的source的有界/无界来判断整个管道是有界/无界的,如果所有scnSource都是有界的则管道必定是有界管道,否则管道就是无界管道。 > >> > >> > >> 发件人: weijie guo > >> 发送时间: 2022-10-28 15:44 > >> 收件人: user-zh > >> 主题: Re: Re: 关于如何得到管道中哪些源是有界和无界的问题 > >> Hi, junjie: > >> > >> 我想先了解一下你的目的是什么,为什么需要在Table API中判断Source的Boundness,这些信息对你的场景的帮助是什么? > >> > >> Best regards, > >> > >> Weijie > >> > >> > >> junjie.m...@goupwith.com <junjie.m...@goupwith.com> 于2022年10月28日周五 > >> 15:36写道: > >> > >>> public static DynamicTableSource > FactoryUtil.createTableSource(@Nullable > >>> Catalog catalog,ObjectIdentifier objectIdentifier, ResolvedCatalogTable > >>> catalogTable, ReadableConfig configuration, ClassLoader classLoader, > >>> boolean isTemporary)可以得到但是需要传入的参数太多了,这些参数不知道如何获取 > >>> > >>> 发件人: junjie.m...@goupwith.com > >>> 发送时间: 2022-10-28 15:33 > >>> 收件人: user-zh > >>> 主题: Re: Re: 关于如何得到管道中哪些源是有界和无界的问题 > >>> 问题是如何拿到ScanTableSource呢?目前我没发现哪里可以得到 > >>> > >>> > >>> 发件人: TonyChen > >>> 发送时间: 2022-10-28 15:21 > >>> 收件人: user-zh > >>> 主题: Re: 关于如何得到管道中哪些源是有界和无界的问题 > >>> 是不是可以看下这个 > >>> > >>> > >> > https://github.com/apache/flink/blob/master/flink-table/flink-table-common/src/main/java/org/apache/flink/table/connector/source/ScanTableSource.java#L94 > >>> Best, > >>> TonyChen > >>>> 2022年10月28日 15:12,junjie.m...@goupwith.com 写道: > >>>> > >>>> 大家好: > >>>> 有个问题判断Table是有界还是无界,或者通过TableEnv如何能得到source table信息和其有界还是无界。 > >>>> > >>> > >> > >