Apache flink Flink:数据集和数据流API集成在一个程序中。可能吗?
我想首先使用dataset API操作静态数据,然后使用DataStream API运行流作业。如果我在IDE上编写代码,它就可以完美地工作。但是,当我尝试在本地flink jobmanager(all parallelism 1)上运行时,流式代码永远不会执行 例如,以下代码不起作用:Apache flink Flink:数据集和数据流API集成在一个程序中。可能吗?,apache-flink,flink-streaming,Apache Flink,Flink Streaming,我想首先使用dataset API操作静态数据,然后使用DataStream API运行流作业。如果我在IDE上编写代码,它就可以完美地工作。但是,当我尝试在本地flink jobmanager(all parallelism 1)上运行时,流式代码永远不会执行 例如,以下代码不起作用: val parallelism = 1 val env = StreamExecutionEnvironment.getExecutionEnvironment env.setParallelism(para
val parallelism = 1
val env = StreamExecutionEnvironment.getExecutionEnvironment
env.setParallelism(parallelism)
val envStatic = ExecutionEnvironment.getExecutionEnvironment
envStatic.setParallelism(parallelism)
val myStaticData = envStatic.fromCollection(1 to 10)
val myVal: Int = myStaticData.reduce(_ + _).collect().head
val theStream = env.fromElements(1).iterate( iteretion => {
val result = iteretion.map(x => x + myVal)
(result, result)
})
theStream.print()
env.execute("static and streaming together")
我该怎么做才能让它工作呢
日志:
执行计划:
似乎是a循环。如果您的Flink作业包含多个子作业,例如由
计数
、收集
或打印
触发,则您无法通过web界面提交作业。web界面仅支持一个Flink作业。日志说明了什么?@TillRohrmann链接已添加。客户端日志说明了什么?@TillRohrmann在本地作业管理器上运行。*。输出文件为空。作业直接完成。@Tillrohrman作业管理器创建的执行计划似乎是循环的!