当前位置: 首页 > 知识库问答 >
问题:

Apache Flink-error:方法应用不适用于参数(WindowFunction)

井昊乾
2023-03-14
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");
    }
}
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)

共有1个答案

宿洋
2023-03-14

您的WindowFunction应为

WindowFunction<
    Tuple8<Double, Double, String, Double, Double, Double, Double, Double>,
    String,
    Double,
    GlobalWindow>

countWindow()返回GlobalWindow类型。

试试看。

 类似资料:
  • 我试图在一个测试中模拟。我在网上找到了一些人们也这么做的例子。 一个例子来自sping-data-elasticsearch,另一个来自一些教程。 这是我自己的例子。 不幸的是,我看到了一些警告。以下是我得到的: 网络客户。RequestHeaderUrispec是原始类型。对泛型类型WebClient的引用。RequestHeaderUrispec应该参数化 当我更改代码并向添加通配符时,我会收

  • 我已经尝试了网络上提供的所有解决方案,但都无效。请尽快提供帮助。同步错误: 生成文件“C:\Users\AH\U GL\Desktop\apps android commons\apps\Build”。格拉德尔线:149 评估项目“:app”时出现问题。 没有方法的签名:build_bacf6ncg9oj63qiyhi1id1rfi.android()适用于参数类型:(build_bacf6ncg

  • 创建一个名为平均值的方法,用于计算作为参数传递的数字的平均值。之前创建的方法和必须在此方法中使用! 在以下模板中定义方法: 我正在努力将sum()方法放在average()方法中。我不知道如何让它工作,因为我在eclipse中不断遇到这样的错误: 这是我的代码: 我知道这与我将average方法定义为double类型有关,但我尝试将它们改为double,并调用我的变量“int avg=…”作为“双

  • 我的代码中有这个错误,我是一个初学者,我不知道为什么在其他程序中,点击时执行的动作事件/动作是成功的,但在这个程序中,我使用了相同的模式,它给了我这个错误,有人能帮助我吗? 当我尝试在用户单击login时放置事件时,错误通过createfirstframe类发生 这是我的课程表 多谢

  • 在我们的代码库从java 1.7迁移到1.8的过程中,我们得到了一个错误消息“方法...不适用于几个代码位置上的参数,它们都遵循泛型用法中的相同模式。 我们目前主要在上使用(4.5.2),但也可以使用(4.6)确认行为。以及符合级别为1.7的都可以编译我们的代码而不会出错。 下面是一个最小、完整且可验证的示例: 现在,在 do 中切换注释掉的行方法会使代码编译,因此我们确实有一个解决方法。仍然错误

  • 当我使用基于Eclipse的Spring套件在Sprint引导时试图运行示例程序时,我看到了一条错误消息。我在当前使用的mac中安装了JDK11 当url是字符串时。由于该方法需要URI对象,所以我更改了代码。同样在寻找解决方案时,我也将null参数转换为对象。