Вопрос
В чем разница ProcessWindowFunction в разных пакетах и где и когда использовать какой из них?
- org.apache.flink.streaming.api.functions.windowing.ProcessWindowFunction
- org.apache.flink.streaming.api.scala.function.ProcessWindowFunction
Для операций с окнами, как в Apache Flink: реализация ProcessWindowFunction , org.apache.flink.streaming.api.scala является правильным для использования, но не смог найти документацию по API Flink 1.8, только для 1.3.
Если я использую 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
VERSION = "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>