问题
不同软件包中的过程窗口函数有什么区别以及在何时/何时使用哪个?
?- org.apache.flink.streaming.api.functions.windowing.processwindowfunction
- org.apache.flink.streaming.api.scala.function.function.processwindowfunction
对于窗口操作,如Apache Flink:ProcessWindowFunction实现, org.apache.flink.flink.streaming.api.api.scala 是正确使用的,但找不到flink 1.8 API文档,,仅适用于1.3。
- 类org.apache.flink.streaming.api.scala.function.processallwindowfunction 的使用
如果我使用 org.apache.flink.streaming.api.functions.windowing.processwindowfunction ,请获取错误。
Error:(66, 20) type mismatch;
found : com.dataartisans.flinktraining.exercises.datastream_scala.windows.HourlyTipProcessFunction
required: org.apache.flink.streaming.api.scala.function.ProcessWindowFunction[com.dataartisans.flinktraining.exercises.datastream_java.datatypes.TaxiFare,?,org.apache.flink.api.java.tuple.Tuple,org.apache.flink.streaming.api.windowing.windows.TimeWindow]
.process(new HourlyTipProcessFunction())
环境
Ubuntu版本=" 18.04.2 lts(bionic beaver("
pom.xml<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<slf4j.version>1.7.19</slf4j.version>
<flink.version>1.8.0</flink.version>
<scala.binary.version>2.12</scala.binary.version>
<junit.version>4.12</junit.version>
</properties>
org.apache.flink.streaming.api.functions.windowing.windowing.processwindowfunction是Java API类,用于钥匙中的ProcessWindowFunctions。
org.apache.flink.streaming.api.scala.function.function.processwindowfunction是相同的,但对于Scala API。
ProcessAllWindowFunctions用于非钥匙流上的Windows。