Apache Flinkを使用しています。私はApache Kafkaソースからデータを読み込んで、DataStream
を変換する必要があります。Apache Flink - エラー:メソッドの適用が引数(WindowFunction)に適用されません
DataStream<Tuple8<Double, Double, String, Double, Double, Double, Double, Double>> dataStream =
env
.addSource(new FlinkKafkaConsumer08<>(
parameterTool.getRequired("topic"),
new SimpleStringSchema(),
parameterTool.getProperties()))
.flatMap(new SplitIntoRecordsString())
.flatMap(new SplitIntoTuples())
.keyBy(1)
.countWindow(5)
.apply(new windowApplyFunction());
public class windowApplyFunction implements WindowFunction<
Tuple8<Double, Double, String, Double, Double, Double, Double, Double>,
String,
Double,
Window>{
public void apply(Double key, Window window,
Iterable<Tuple8<Double, Double, String, Double, Double, Double, Double, Double>> values,
Collector<String> out)
throws Exception {
out.collect("MyResult");
}
}
残念ながら、私は次のエラーを持って、それを修正する方法がわからない:I場合
The method apply(WindowFunction<Tuple8<Double,Double,String,Double,Double,Double,Double,Double>,R,Tuple,GlobalWindow>) in the type WindowedStream<Tuple8<Double,Double,String,Double,Double,Double,Double,Double>,Tuple,GlobalWindow> is not applicable for the arguments (FlinkManager.windowApplyFunction)
すべてが正常に動作します私はWindowFunction
を適用しようとする最後のステップで
apply(new windowApplyFunction())
をあらかじめ定義された関数に置き換えます。 sum(1)
。