在flinksql中不能通过env.execute(topNJob.class.getName())的方式指定作业名称(jobname),否则会报错:
No operators defined in streaming topology. Cannot execute
解决办法:
// 设置sql运行脚本名称,在flink 1.13.2中生效,在flink1.12.0版本也可以用
StreamTableEnvironment tableEnv = StreamTableEnvironment.create(env); tableEnv.getConfig().getConfiguration().setString("pipeline.name",userbehaviorSQL.class.getName());
注意点:
上面的语句必须放在sql命令执行之前,不能参照env.execute的方式放在末位,否则不生效