Flink是懒加载,不论是FlinkSQL还是Flink的DataStream,我们需要执行特定的代码触发整体的计算,关于FlinkSQL具体的触发方式如下:
1、当 TableEnvironment.executeSql() 被调用时。该方法是用来执行一个 SQL 语句,一旦该方法被调用, SQL 语句立即被翻译。
2、当 Table.executeInsert() 被调用时。该方法是用来将一个表的内容插入到目标表中,一旦该方法被调用, TABLE API 程序立即被翻译。
3、当 Table.execute() 被调用时。该方法是用来将一个表的内容收集到本地,一旦该方法被调用, TABLE API 程序立即被翻译。
4、当 StatementSet.execute() 被调用时。Table (通过 StatementSet.addInsert() 输出给某个 Sink)和 INSERT 语句 (通过调用 StatementSet.addInsertSql())会先被缓存到 StatementSet 中,StatementSet.execute() 方法被调用时,所有的 sink 会被优化成一张有向无环图。
5、当 Table 被转换成 DataStream 时(参阅与 Dat
Flink采用懒加载,其SQL和DataStream都需要特定触发执行。主要触发方式包括:调用TableEnvironment.executeSql()执行SQL,Table.executeInsert()用于表内容插入,Table.execute()收集本地内容,StatementSet.execute()批量执行缓存的sink,以及将Table转换为DataStream并执行。
订阅专栏 解锁全文
2181

被折叠的 条评论
为什么被折叠?



